Python - 从列表中打印多个最短和最长的单词

标签 python arrays list sorting


我需要浏览一个列表并打印其中最长的单词。我可以只打印一个单词,但无法弄清楚如何打印多个单词,例如,如果有两个单词的长度为三个字母。 我试过了

list.sort (key=len, reverse =True)
print ("The longest word in the list is: " , list[0])

这可行,但只打印第一个最长的单词,这对超过一个最长的单词没有好处。

我也试过:

p=0
for item in list:
    if len (item) > p:
        s=item
        p = len(item)
print (s)

这也和前面的代码一样

我还需要对列表中最短的单词执行此操作。

如果这不是一个好问题,我深表歉意,这是我的第一个问题。

最佳答案

首先,不要永远使用list 作为变量名,因为它会覆盖内置类型并可能在以后引起麻烦。

你可以对最长的单词执行此操作:

for i in lst:
    if len(i) == max(lst, key=len):
        print(i)

对于最短的单词:

for i in lst:
    if len(i) == min(lst, key=len):
        print(i)

第一个代码打印与最长字符串长度相同的字符串。第二个做同样的事情,但使用最短的字符串。

一个小的优化是在循环之前预先计算最大/最小长度,因此您不需要每次都重新计算。

maxLen = max(lst, key=len)
for i in lst:
    if len(i) == maxLen:
        print(i)

对另一个循环也可以这样做。

关于Python - 从列表中打印多个最短和最长的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14725120/

相关文章:

python - 我如何在 CPP 中创建这样的列表?

python - PyQt5 - 单击菜单选项后在 MDI 区域中打开小部件

python - Django request.POST.get SQL注入(inject)

python - 在 python 中使用 BeautifulSoup 时出错 : ValueError: invalid literal for int() with base 10: 'xBB'

javascript - 随机化特征集合

Ruby 将数组与数组的哈希进行比较和匹配

r - 使用字典/列表来获取键列表

Python Pdb 给我一个回溯并且无法运行

android - 影响 TextView 的 Res/Arrays

python - 从列表中的元组替换字符串