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

How to find length of an element in a list?

提问人:S7nf 提问时间:10/27/2009 最后编辑:codeapeS7nf 更新时间:12/14/2021 访问量:92077

问:

我才刚刚开始编程。我有一个包含几个字符串的列表,现在我需要打印最大的(长度)一个。 因此,我首先只想打印元素的长度。我正在尝试这样的事情:

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

for i in range(len(l)):

那么我该怎么做呢?

列表

评论

6赞 Douglas Leeder 10/27/2009
实际上它是一个元组。

答:

9赞 codeape 10/27/2009 #1

要打印元素的长度:

elements = ["xxxxxx", "yyy", "z"]
for element in elements:
    print len(element)

我建议您阅读一些教程材料,例如 http://docs.python.org/tutorial/

0赞 user59634 10/27/2009 #2

以下代码将打印集合中最大的字符串:

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]
3赞 chub 10/27/2009 #3

只需根据长度要求最大值即可

print max(["qsf","qsqsdqsd","qs"], key = len)

27赞 SilentGhost 10/27/2009 #4
l = ("xxxxxxxxx", "yyyy","zz")
print(max(l, key=len))

首先,你没有一个列表,你有一个元组。但是,此代码适用于任何序列;列表和元组都是序列(以及字符串、集合等)。因此,该函数采用一个参数,用于对可迭代对象的元素进行排序。因此,将从所有元素中选择具有最大长度的元素。maxkeyl

4赞 Tarnay Kálmán 10/27/2009 #5
>>> sorted(['longest','long','longer'],key=len)[-1]
'longest'

更新:SilentGhost的解决方案要好得多。

0赞 Enrique Pérez Herrero 4/24/2015 #6

此代码将“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))
0赞 Saviour24 12/29/2020 #7

首先,要找到字符串的长度,您可以定义函数并使用 map 函数,如下所示:

def len_words(l:list):
    len_list = list(map(len,l))
    return len_list

之后,您可以在 len_words 上调用 max 函数以从列表中查找字符串的最大值。

max(len_words(l))
5赞 Tambe Tabitha 12/14/2021 #8

对于那些因为想要测量序列(列表、元组等)中所有元素的长度并将这些长度返回到另一个序列(列表、元组等)而在这里的人,请这样做:

顶级域名

list_of_lengths = (lambda x:[len(i) for i in x])(lst)

更长的解释(从内括号开始,向外移动)

  1. 我们循环浏览我们的列表,并使用 Python 内置的 len() 函数获取每个元素的相应长度值。
[len(i) for i in x]
  1. 创建一个临时函数来包装上一点中的循环操作,以便可以将任何列表放入函数中并返回其元素长度。
(lambda x:[len(i) for i in x])
  1. 使用我们的列表作为参数调用函数,方法是将其放在函数定义旁边的括号中。
(lambda x:[len(i) for i in x])(lst)
  1. 将新创建的列表分配给变量,以便您可以将其用于其他操作(例如查找最大/最小元素或其索引,如本页提出的问题所示)。
list_of_lengths = (lambda x:[len(i) for i in x])(lst)