gpt4 book ai didi

Python 在不使用循环的情况下组合相同字典的值

转载 作者:行者123 更新时间:2023-12-04 08:45:52 26 4
gpt4 key购买 nike

我有相同词典的列表:

my_list = [{'a': 1, 'b': 2, 'c': 3}, {'a': 4, 'b': 5, 'c': 6}, {'a': 7, 'b': 8, 'c': 9}]
我需要得到这样的东西:
a = [1, 4, 7]
b = [2, 5, 8]
c = [3, 6, 9]
我知道如何使用 for .. in .. ,但是有没有办法在不循环的情况下做到这一点?
如果我做
a, b, c = zip(*my_list)
我得到
a = ('a', 'a', 'a')
b = ('b', 'b', 'b')
c = ('c', 'c', 'c')
有什么解决办法吗?

最佳答案

您需要提取 my_list 中的所有值.你可以试试:

my_list = [{'a': 1, 'b': 2, 'c': 3}, {'a': 4, 'b': 5, 'c': 6}, {'a': 7, 'b': 8, 'c': 9}]
a, b, c = zip(*map(lambda d: d.values(), my_list))
print(a, b, c)

# (1, 4, 7) (2, 5, 8) (3, 6, 9)

@Alexandre 指出,这仅在 dict 被排序时才起作用。如果您无法确定顺序,请考虑 yatu 的答案。

关于Python 在不使用循环的情况下组合相同字典的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64334146/

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