gpt4 book ai didi

通过理解将 Python 列表转换为字典

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:31 26 4
gpt4 key购买 nike

假设我有一些返回字典的函数,然后我遍历该函数。这将产生一个字典列表。我想把它变成一本字典。我这样调用我的函数:

x = [_myfunction(element) for element in list_of_elements]

导致说x:

x = [{'one': {'two':'2'}, 'three' : '3'}, {'four':'five', 'six':{'seven':7}}]

我想转换成 y:

y = {'one': {'two':'2'}, 'three' : '3', 'four':'five', 'six':{'seven':7}}

有没有一种方法可以在 list_of_elements 上调用 _myfunction(),从而直接得到 y?也许用字典理解而不是上面的列表理解?或者把x变成y的最简洁的代码是什么。 (希望不要无聊并使用 for 循环!:-))

谢谢,实验室垃圾

最佳答案

您可以使用 dict.update 合并字典方法:

y = {}
for element in list_of_elements:
y.update(_myfunction(element))

您还可以使用(双循环)字典理解:

y = {
k:v
for element in list_of_elements
for k,v in _myfunction(element).items()
}

最后,如果您对 this question 采取任何答案,为了合并两个字典(并将其命名为 merge_dicts),您可以使用 reduce合并两个以上:

dicts = [_myfunction(element) for element in list_of_elements]
y = reduce(merge_dicts, dicts, {})

无论哪种方式,在重复字典键的情况下,后面的键会覆盖前面的键

关于通过理解将 Python 列表转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22996658/

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