如何在列表中查找元素的长度?

时间:2009-10-27 09:50:33

标签: python list

我刚开始编程。我有一些字符串的列表,现在我需要打印最大的(长度)字符串。 所以我首先想要打印元素的长度。我正在尝试这样的事情:

l = ("xxxxxxxxx", "yyyy","zz")

for i in range(len(l):

那我该怎么办?

7 个答案:

答案 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))