所以我有点新来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