简体   繁体   English

我如何在python中更改列表字典中的值

[英]How can i change the values in dictionary of lists in python

I hae a dictionary like this 我有这样的字典

dict1 = [('var1','aa'),('var2','bb')('var3','cc')]

I have another dictionary 我还有另一本字典

dict2 = [('var2','22'),('var3','33'),('var5','23'),('var6','33'),('var7','23')]

What i want to do is that i to replace the contents of dict2 with the varibels in dict1 我想做的是用dict1中的varibel替换dict2的内容

I mean so that final dict3 = dict2 = [('var2','bb'),('var3','cc'),('var5','23'),('var6','33'),('var7','23')] 我的意思是说最终dict3 = dict2 = [('var2','bb'),('var3','cc'),('var5','23'),('var6','33'),('var7','23')]

>>> list1 = [('var1','aa'),('var2','bb'),('var3','cc')]
>>> list2 = [('var2','22'),('var3','33'),('var5','23'),('var6','33'),('var7','23')]
>>> dict1 = dict(list1)
>>> list2 = [(k, dict1.get(k, v)) for k, v in list2]
>>> list2
[('var2', 'bb'), ('var3', 'cc'), ('var5', '23'), ('var6', '33'), ('var7', '23')]

This will maintain order from the original list2 这将保持原始列表中的顺序list2

Those are not dictionaries . 那些不是字典 Here is how to do it if they were: 如果他们是,这是怎么做的:

>>> dict1 = {'var1':'aa', 'var2':'bb' ,'var3':'cc'}
>>> dict2 = {'var2':'22', 'var3':'33', 'var5':'23', 'var6':'33', 'var7':'23'}
>>> for key in dict2:
...     if key in dict1:
...             dict2[key] = dict1[key]
... 
>>> dict2
{'var5': '23', 'var7': '23', 'var6': '33', 'var3': 'cc', 'var2': 'bb'}

You probably want to start out with dict1 and dict2 actually being dictionaries as in my example, but note that you can easily convert them using eg. 您可能想像我的示例一样,首先将dict1dict2作为字典,但请注意,您可以使用eg轻松地将它们转换。 dict1 = dict(dict1) . dict1 = dict(dict1)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM