【发布时间】:2018-12-13 23:45:29
【问题描述】:
我有一个字典列表
ld = [{'a': 1}, {'b': 2, 'c': 3}, {'d': 4, 'e': 5}]
我需要从我的列表中获取所有长度最长的元素,即
{'b': 2, 'c': 3} 和 {'d': 4, 'e': 5}。
我对 Python 不是很了解,但我发现:
>>> max(ld, key=len)
{'b': 2, 'c': 3}
还有一个更好的解决方案,它返回最长字典的索引:
>>> max(enumerate(ld), key=lambda tup: len(tup[1]))
(1, {'b': 2, 'c': 3})
我想使用一个返回类似的表达式
(1: {'b': 2, 'c': 3}, 2: {'d': 4, 'e': 5})
我觉得我离解决方案不远(或者也许我离解决方案不远),但我只是不知道如何得到它。
【问题讨论】:
标签: python list dictionary