gpt4 book ai didi

python - 在字典项列表中查找最小和最大元素

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:17 24 4
gpt4 key购买 nike

我有一个以字典格式存储的元素列表

例如

input_list = [ {'item1': 2, 'item2': 4, 'item3': 3, 'item4': 5, 'item5': 1, 'item6': 2, 'item7': 2, 'item8': 1, 'item9': 2, 'item10': 5, 'item11': 1, 'item12': 2},
{'item1': 4, 'item2': 1, 'item3': 6, 'item4': 2, 'item5': 11, 'item6': 3, 'item7': 4, 'item8': 6, 'item9': 1, 'item10': 5, 'item11': 1, 'item12': 3}]

我在 input_list 中有大约 150 个元素,我需要创建两个输出列表( output_list_max 和 output_list_min ),它们应该有元素作为字典,以项目(即 item1、item2..etc)作为键和最大/最小值每个项目的值(w.r.t. input_list 中的条目)作为值。

例如

output_list_max = [{'item1': 4, 'item2': 4, 'item3': 6, 'item4': 5, 'item5': 11, 'item6': 3, 'item7': 4, 'item8': 6, 'item9': 2, 'item10': 5, 'item11': 1, 'item12': 3}]

output_list_min = [{'item1': 2, 'item2': 1, 'item3': 3, 'item4': 2, 'item5': 1, 'item6': 2, 'item7': 2, 'item8': 1, 'item9': 1, 'item10': 5, 'item11': 1, 'item12': 2}]

我可以通过遍历列表和字典来做到这一点,但我想知道最有效和 pythonic 的方式来做到这一点,因为列表和字典最多可以有 1000 个。

我希望我能够清除我的意图:)

如有任何帮助,我们将不胜感激!

最佳答案

您可以使用 zip()sorted() 来配对您的字典项目:

lst = list(zip(*[sorted(d.items()) for d in input_list]))

dict(max(item) for item in lst)
# {'item9': 2, 'item4': 5, 'item5': 11, 'item11': 1, 'item2': 4, 'item1': 4, 'item10': 5, 'item6': 3, 'item3': 6, 'item12': 3, 'item7': 4, 'item8': 6}

dict(min(item) for item in lst)
# {'item9': 1, 'item4': 2, 'item5': 1, 'item11': 1, 'item2': 1, 'item1': 2, 'item10': 5, 'item6': 2, 'item3': 3, 'item12': 2, 'item7': 2, 'item8': 1}

关于python - 在字典项列表中查找最小和最大元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42230343/

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