所以我对python有点新意,并给出了如下问题: 给定列表名称,找到列表中的最大元素并将其与最后一个元素交换。例如,列表[" Carlton"," Quincy" " Adam"," Bernard"]将成为[" Carlton"," Bernard"," Adam",&# 34; Quincy"]。假设名称不为空
我考虑过做列表理解,但我不知道如何在代码中写出来
编辑:在这种情况下最大的是字符串的长度(抱歉没有澄清!!!)
答案 0 :(得分: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
这是一种过于复杂的方式,但它已经被抽出来让它更明显地发生了什么。话虽如此,你真的应该更具体地说明“最大”意味着什么。
答案 1 :(得分:1)
names = [foo, fooooo, bar, baaar]
a, b = i.index(max(name, key=len)), -1
i[b], i[a] = i[a], i[b]
由this提供。