包含大多数元素的列表

时间:2011-04-12 11:19:35

标签: list dictionary python

我有一个以字典作为元素的列表。每个字典都有一个名为type的条目。 type字段表示一个列表。获取具有最多元素的列表的最简单/ pythonic方法是什么?

programmes_by_type = []
programmes_by_type.append({'type' : [1, 2, 3]})
programmes_by_type.append({'type' : [2, 5]})
programmes_by_type.append({'type' : [3]})
programmes_by_type.append({'type' : [11, 2, 6, 7]})

鉴于上一个示例,它应该返回[11, 2, 6, 7]列表。

2 个答案:

答案 0 :(得分:10)

max([option['type'] for option in programmes_by_type], key=len)

答案 1 :(得分:0)

max_length = 0
type_list = None

for el in programmes_by_type:
    if len(el) > max_length:
        max_length = len(el)
        type_list = el['type']

type_list现在包含最大的列表。