列表中的Python名称

时间:2014-06-26 02:37:36

标签: python list

所以我对python有点新意,并给出了如下问题: 给定列表名称,找到列表中的最大元素并将其与最后一个元素交换。例如,列表[" Carlton"," Quincy" " Adam"," Bernard"]将成为[" Carlton"," Bernard"," Adam",&# 34; Quincy"]。假设名称不为空

我考虑过做列表理解,但我不知道如何在代码中写出来

编辑:在这种情况下最大的是字符串的长度(抱歉没有澄清!!!)

2 个答案:

答案 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提供。