2014-06-26 105 views
-5

所以我有點新來python,並給出了一個問題,如下所示: 給定列表名稱,找到列表中最大的元素,並將其與最後一個元素交換。例如,名單[「卡爾頓」,「昆西」,「亞當」,「伯納德」]將成爲[「卡爾頓」,「伯納德」,「亞當」,「昆西」]。假設名字不是空列表中的Python名稱

我想過做列表理解,但我不知道我怎麼會寫出來代碼

編輯:最大在這種情況下將是字符串的長度(對不起,不澄清!!!))

+0

你說'找到列表中最大的元素'。在這種情況下,「最大」是什麼? – dawg

+0

信息不足。 – user2963623

+0

你的例子不正確。 – user2963623

回答

1
names = [foo, fooooo, bar, baaar] 
a, b = i.index(max(name, key=len)), -1 
i[b], i[a] = i[a], i[b] 

致謝this

1

如果最大,你的意思是最長,那麼你可以迭代列表來找到最長的名字,然後交換它們。

maxLen = 0 
maxI = 0 
for i in range(0, len(names)): 
    if len(names[i]) > maxLen: 
     maxLen = len(names[i]) 
     maxI = i 

temp = names[-1] 
names[-1] = names[maxI] 
names[maxI] = temp 

這是一個過分複雜的做法,但它很容易讓人更容易理解發生了什麼。有了這個說法,你應該更具體地說明「最大」的含義。