gpt4 book ai didi

python - 在字典列表中查找最大长度的所有字典

转载 作者:太空狗 更新时间:2023-10-29 21:25:22 27 4
gpt4 key购买 nike

我有一个字典列表

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})

我觉得我离解决方案不远了(或者也许我是),但我只是不知道如何得到它。

最佳答案

你可以找到结构中最大字典的长度,然后使用列表理解:

ld = [{'a':1}, {'b':2, 'c':3}, {'d':4, 'e':5}]
_max = max(map(len, ld))
new_result = dict(i for i in enumerate(ld) if len(i[-1]) == _max)

输出:

{1: {'b': 2, 'c': 3}, 2: {'d': 4, 'e': 5}}

关于python - 在字典列表中查找最大长度的所有字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771668/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com