如何找到Python中的列表?

How to find the list in Python?

我在Python中有一个列表:

list_all = [['orange', 'the dress', '5643,43245,5434,22344,34533'],
            ['pink', 'cars', '12322,4455,533,2344,24324,64466,543342'],
            ['dark pink' 'doll', '12422,4533,6446,35563'],
            ['blue', 'car', '43356,53352,546'],
            ['sky blue', 'dress', '63463,3635432,354644,6544,6444,644,74245']]

我想 return 最后一部分中数字最多的前 3 个列表。像这样:

result = [['orange', 'the dress', '5643,43245,5434,22344,34533'],
         ['pink', 'cars', '12322,4455,533,2344,24324,64466,543342'],
         ['sky blue', 'dress', '63463,3635432,354644,6544,6444,644,74245']]

我只是找不到这样做的逻辑。我已经尝试了很多,但只是被一行代码卡住了:

for each in list_all:
    if len(each[-1].split(','))

请帮我解决这个问题。我是 Python 的新手,正在学习它。非常感谢。

这是一个方便的 one-liner:

print(sorted(all_list, key=lambda l: len(l[-1].split(',')))[:-3])

您可以使用sorted函数

print(sorted(list_all, key=lambda e: len(e[-1].split(',')), reverse=True)[:3])

输出:

[
['pink', 'cars', '12322,4455,533,2344,24324,64466,543342'], 
['sky blue', 'dress','63463,3635432,354644,6544,6444,644,74245'], 
['orange', 'the dress', '5643,43245,5434,22344,34533']
]

sorted() 函数按特定顺序(升序或降序)对给定 iterable 的元素进行排序,returns 它作为一个列表。

有关 sorted()

的更多信息