提问人:S7nf 提问时间:10/27/2009 最后编辑:codeapeS7nf 更新时间:12/14/2021 访问量:92077
如何查找列表中元素的长度?
How to find length of an element in a list?
问:
我才刚刚开始编程。我有一个包含几个字符串的列表,现在我需要打印最大的(长度)一个。 因此,我首先只想打印元素的长度。我正在尝试这样的事情:
l = ("xxxxxxxxx", "yyyy","zz")
for i in range(len(l)):
那么我该怎么做呢?
答:
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))
首先,你没有一个列表,你有一个元组。但是,此代码适用于任何序列;列表和元组都是序列(以及字符串、集合等)。因此,该函数采用一个参数,用于对可迭代对象的元素进行排序。因此,将从所有元素中选择具有最大长度的元素。max
key
l
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)
更长的解释(从内括号开始,向外移动)
- 我们循环浏览我们的列表,并使用 Python 内置的 len() 函数获取每个元素的相应长度值。
[len(i) for i in x]
- 创建一个临时函数来包装上一点中的循环操作,以便可以将任何列表放入函数中并返回其元素长度。
(lambda x:[len(i) for i in x])
- 使用我们的列表作为参数调用函数,方法是将其放在函数定义旁边的括号中。
(lambda x:[len(i) for i in x])(lst)
- 将新创建的列表分配给变量,以便您可以将其用于其他操作(例如查找最大/最小元素或其索引,如本页提出的问题所示)。
list_of_lengths = (lambda x:[len(i) for i in x])(lst)
评论