首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python选择列表中最长字符串的最有效方法是什么?

Python选择列表中最长字符串的最有效方法是什么?
EN

Stack Overflow用户
提问于 2009-05-16 21:15:31
回答 6查看 227.5K关注 0票数 287

我有一个可变长度的列表,并试图找到一种方法来测试当前正在评估的列表项是否是列表中包含的最长字符串。我使用的是Python 2.6.1

例如:

代码语言:javascript
运行
复制
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()

当然有一个简单的列表理解,我忽略了它的简洁和优雅?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-05-16 21:19:46

Python documentation本身中,您可以使用max

代码语言:javascript
运行
复制
>>> mylist = ['123','123456','1234']
>>> print max(mylist, key=len)
123456
票数 707
EN

Stack Overflow用户

发布于 2016-12-15 07:26:45

代码语言:javascript
运行
复制
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)

或者简单得多:

代码语言:javascript
运行
复制
max(some_list , key = len)
票数 9
EN

Stack Overflow用户

发布于 2009-05-16 21:22:38

如果有超过1个最长的字符串(比如'12‘和'01'),会发生什么?

试着获取最长的元素

代码语言:javascript
运行
复制
max_length,longest_element = max([(len(x),x) for x in ('a','b','aa')])

然后是规则的foreach

代码语言:javascript
运行
复制
for st in mylist:
    if len(st)==max_length:...
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/873327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档