gpt4 book ai didi

python - 如何从键列表和相同值生成字典列表

转载 作者:太空狗 更新时间:2023-10-30 00:31:02 26 4
gpt4 key购买 nike

我想从键列表创建一个字典列表,每个字典的值都相同。

结构将是:

[{key1: value}, {key2: value}, {key3: value}, ...]

我从一个键列表开始:

my_list = [3423, 77813, 12, 153, 1899]

假设值为 ['dog', 'cat']

最终结果应该是这样的:

[{3423:['dog', 'cat']}, {77813:['dog', 'cat']}, {12:['dog', 'cat']},
{153:['dog', 'cat']}, {1899:['dog', 'cat']}]

最佳答案

如果你想要一些非常简单的东西,你可以使用列表理解:

data = ['dog', 'cat']

my_list = [3423, 77813, 12, 153, 1899]

result = [{k:data} for k in my_list]

print(result)
# [{3423: ['dog', 'cat']}, {77813: ['dog', 'cat']}, {12: ['dog', 'cat']}, {153: ['dog', 'cat']}, {1899: ['dog', 'cat']}]

此外,这是一个非常方便的添加/删除值的示例 defaultdict :

from collections import defaultdict

my_list = [3423, 77813, 12, 153, 1899]

new_list = []
for number in my_list:

# create the defaultdict here
d = defaultdict(list)

# add some data
d[number] += ['dog', 'cat', 'kitten']

# remove some data
d[number].remove('kitten')

# append dictionary
new_list.append(dict(d))

print(new_list)

哪些输出:

[{3423: ['dog', 'cat']}, {77813: ['dog', 'cat']}, {12: ['dog', 'cat']}, {153: ['dog', 'cat']}, {1899: ['dog', 'cat']}]

在这里使用 defaultdict 很有帮助,因为它用空列表初始化字典中的每个条目。如果您不想这样做,可以使用普通字典来实现,如您的问题所示,但这需要您自己初始化空列表。

关于python - 如何从键列表和相同值生成字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824935/

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