我有一个可变长度的列表,并试图找到一种方法来测试当前正在评估的列表项是否是列表中包含的最长字符串。我使用的是Python 2.6.1
例如:
mylist = ['abc','abcdef','abcd']
for each in mylist:
if condition1:
do_something()
elif ___________________: #else if each is the longest string contained in mylist:
do_something_else()
当然有一个简单的列表理解,我忽略了它的简洁和优雅?
发布于 2009-05-16 21:19:46
在Python documentation本身中,您可以使用max
>>> mylist = ['123','123456','1234']
>>> print max(mylist, key=len)
123456
发布于 2016-12-15 07:26:45
def longestWord(some_list):
count = 0 #You set the count to 0
for i in some_list: # Go through the whole list
if len(i) > count: #Checking for the longest word(string)
count = len(i)
word = i
return ("the longest string is " + word)
或者简单得多:
max(some_list , key = len)
发布于 2009-05-16 21:22:38
如果有超过1个最长的字符串(比如'12‘和'01'),会发生什么?
试着获取最长的元素
max_length,longest_element = max([(len(x),x) for x in ('a','b','aa')])
然后是规则的foreach
for st in mylist:
if len(st)==max_length:...
https://stackoverflow.com/questions/873327
复制相似问题