gpt4 book ai didi

python - 向键添加值,具体取决于该值是否在另一个键中

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

我有以下字典:

{'Atlanta': [['Bear', 34274], ['Deer', 13747], ['Bee', 83743]],
'New York': [['Bear', 987], ['Dove', 2635]]}

以列表作为值的键,该列表包含成对的 Animals 和一个数字。
现在我希望,如果一个 Animal 存在于其中一个键中,我也希望它存在于所有其他键中,但使用零而不是数字,所以字典应该如下所示:

{'Atlanta': [['Bear', 34274], ['Deer', 13747], ['Bee', 83743], ['Dove', 0]], 
'New York': [['Bear', 987], ['Dove', 2635], ['Deer', 0], ['Bee', 0]]}

我不知道该怎么做。有人可以帮助我吗?

最佳答案

首先找到所有动物的名字:

d = {'Atlanta': [['Bear', 34274], ['Deer', 13747], ['Bee', 83743]], 
'New York': [['Bear', 987], ['Dove', 2635]]}

>>> animals = {animal for value in d.values() for animal, _ in value}
>>> animals
{'Bear', 'Bee', 'Deer', 'Dove'}

用零填充缺失的部分:

for key, value in d.items():
selected_animals = {animal for animal, _ in value}
for name in animals - selected_animals:
d[key].append([name, 0])

现在:

>>> d
{'Atlanta': [['Bear', 34274], ['Deer', 13747], ['Bee', 83743], ['Dove', 0]],
'New York': [['Bear', 987], ['Dove', 2635], ['Deer', 0], ['Bee', 0]]}

关于python - 向键添加值,具体取决于该值是否在另一个键中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49187748/

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