我刚刚开始编程。我有一些字符串的列表,现在我需要打印最大(长度)的字符串。 所以我首先想打印元素的长度。我正在尝试这样的事情:如何查找列表中元素的长度?
l = ("xxxxxxxxx", "yyyy","zz")
for i in range(len(l):
那么我该怎么做呢?
我刚刚开始编程。我有一些字符串的列表,现在我需要打印最大(长度)的字符串。 所以我首先想打印元素的长度。我正在尝试这样的事情:如何查找列表中元素的长度?
l = ("xxxxxxxxx", "yyyy","zz")
for i in range(len(l):
那么我该怎么做呢?
l = ("xxxxxxxxx", "yyyy","zz")
print(max(l, key=len))
首先你没有一个列表,你有一个元组。然而,这个代码将适用于任何序列。列表和元组都是序列(以及字符串,集合等)。因此,max
函数采用一个key
参数,即用于可迭代的元素进行排序。所以,从l
的所有元素将被选中最长的一个。
要打印长度的元素:
elements = ["xxxxxx", "yyy", "z"]
for element in elements:
print len(element)
我建议你读了一些辅导材料,例如http://docs.python.org/tutorial/
问题要求打印最大的字符串。 – 2009-10-27 09:58:18
@Amit:这个问题指出:“因此,我首先想只是打印元素的长度。” – 2009-10-27 10:08:06
下面的代码将在集打印最大的字符串:
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]
为什么是-1?我给出了“现在我需要打印最大(长度)”的答案。 – 2009-10-27 10:11:08
虽然我敢肯定,你的解决方案的工作,它不是关于如何编写Python代码一个很好的例子。对于有人要求关于Python的帮助,这根本没有帮助。 – truppo 2009-10-27 11:06:18
我可能在那里写了C。你推荐使用更多的Python结构,比如'max ... key'吗? – 2009-10-27 11:09:56
只是根据长度要求最大
print max(["qsf","qsqsdqsd","qs"], key = len)
虽然有效,但初学者有点微妙。 – 2009-10-27 10:08:49
>>> sorted(['longest','long','longer'],key=len)[-1]
'longest'
更新:SilentGhost的解决方案更好。
此代码映射在列表中的“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))
,这不是一个列表,而是一组。 – jldupont 2009-10-27 09:51:48
其实它是一个元组。 – 2009-10-27 09:54:01
-1:片段甚至不会按原样工作。语法错误。请修复这个片段,至少它可以运行。 – 2009-10-27 09:58:34