所以我有點新來python,並給出了一個問題,如下所示: 給定列表名稱,找到列表中最大的元素,並將其與最後一個元素交換。例如,名單[「卡爾頓」,「昆西」,「亞當」,「伯納德」]將成爲[「卡爾頓」,「伯納德」,「亞當」,「昆西」]。假設名字不是空列表中的Python名稱
我想過做列表理解,但我不知道我怎麼會寫出來代碼
編輯:最大在這種情況下將是字符串的長度(對不起,不澄清!!!))
所以我有點新來python,並給出了一個問題,如下所示: 給定列表名稱,找到列表中最大的元素,並將其與最後一個元素交換。例如,名單[「卡爾頓」,「昆西」,「亞當」,「伯納德」]將成爲[「卡爾頓」,「伯納德」,「亞當」,「昆西」]。假設名字不是空列表中的Python名稱
我想過做列表理解,但我不知道我怎麼會寫出來代碼
編輯:最大在這種情況下將是字符串的長度(對不起,不澄清!!!))
names = [foo, fooooo, bar, baaar]
a, b = i.index(max(name, key=len)), -1
i[b], i[a] = i[a], i[b]
致謝this。
如果最大,你的意思是最長,那麼你可以迭代列表來找到最長的名字,然後交換它們。
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
這是一個過分複雜的做法,但它很容易讓人更容易理解發生了什麼。有了這個說法,你應該更具體地說明「最大」的含義。
你說'找到列表中最大的元素'。在這種情況下,「最大」是什麼? – dawg
信息不足。 – user2963623
你的例子不正確。 – user2963623