我刚开始编程。我有一些字符串的列表,现在我需要打印最大的(长度)字符串。 所以我首先想要打印元素的长度。我正在尝试这样的事情:
l = ("xxxxxxxxx", "yyyy","zz")
for i in range(len(l):
那我该怎么办?
答案 0 :(得分:18)
l = ("xxxxxxxxx", "yyyy","zz")
print(max(l, key=len))
首先,你没有列表,你有一个元组。但是,此代码适用于任何序列;列表和元组都是序列(以及字符串,集合等)。因此,max
函数采用key
参数,用于对可迭代元素进行排序。因此,l
的所有元素都将被选择为具有最大长度的元素。
答案 1 :(得分:4)
打印元素的长度:
elements = ["xxxxxx", "yyy", "z"]
for element in elements:
print len(element)
我建议您阅读一些教程材料,例如http://docs.python.org/tutorial/
答案 2 :(得分:2)
根据长度
询问最大值 print max(["qsf","qsqsdqsd","qs"], key = len)
答案 3 :(得分:2)
>>> sorted(['longest','long','longer'],key=len)[-1]
'longest'
更新:SilentGhost的解决方案更好。
答案 4 :(得分:1)
以下代码将打印集合中的最大字符串:
l = ["abcdev", "xx","abcedeerer"]
len_0 = len(l[0])
pos = 0
for i in range(0,len(l)):
if len(l[i]) > len_0:
pos = i
print l[pos]
答案 5 :(得分:0)
此代码在列表上映射“len”函数,以获取包含每个项目长度的另一个列表。
mylist = ("xxxxxxxxx", "yyyy","zz")
len_mylist = map(len, mylist)
max_position = len_mylist.index(max(len_mylist))
my_item = mylist[max_position]
print('The largest item of my list is: ' + my_item)
print('located at position: ' + str(max_position))
答案 6 :(得分:0)
首先找到字符串的长度,您可以定义函数并使用map函数,如下所示:
def len_words(l:list):
len_list = list(map(len,l))
return len_list
之后就可以调用 len_words 上的 max 函数,从列表中找出字符串的最大值。
max(len_words(l))