Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何在Python中组合两个字典,使结果包含key作为第一个字典的值_Python_Dictionary - Fatal编程技术网

Python:如何在Python中组合两个字典,使结果包含key作为第一个字典的值

Python:如何在Python中组合两个字典,使结果包含key作为第一个字典的值,python,dictionary,Python,Dictionary,我有两本字典如下: mydictionary_1 = {1:'apple',2:'banana'} mydictionary_2 = {1:50,2:30} 生成的字典应该以键作为第一个字典的值 Result_dictionary= {'apple':50, 'banana':30} 您可以使用字典理解,使用第一个字典的值作为结果字典的键。这假设第一个的所有键都存在于第二个dict {v: dict2[k] for k, v in dict1.items()} 您还可以在第二个字典中添加

我有两本字典如下:

mydictionary_1 = {1:'apple',2:'banana'}
mydictionary_2 = {1:50,2:30}
生成的字典应该以键作为第一个字典的值

 Result_dictionary= {'apple':50, 'banana':30}

您可以使用字典理解,使用第一个字典的值作为结果字典的键。这假设第一个的所有键都存在于第二个
dict

{v: dict2[k] for k, v in dict1.items()}
您还可以在第二个字典中添加对键存在情况的检查

{v: dictionary_2[k] for k, v in dictionary_1.items() if k in dictionary_2}

您可以使用字典理解,使用第一个字典的值作为结果字典的键。这假设第一个的所有键都存在于第二个
dict

{v: dict2[k] for k, v in dict1.items()}
您还可以在第二个字典中添加对键存在情况的检查

{v: dictionary_2[k] for k, v in dictionary_1.items() if k in dictionary_2}
如前所述,词典理解是解决这一问题的理想方法。以下是循环的示例:

def combine_dictionaries(dict1, dict2):
    result_dictionary = {}
    for key in dict1.keys():
        result_dictionary[dict1[key]] = dict2[key]
    return result_dictionary

combine_dictionaries({1:'apple', 2:'banana'}, {1:50, 2:30})

>>>{'apple': 50, 'banana': 30}
这假设dict1的所有值都存在于dict2中。

如前所述,字典理解是解决这一问题的理想方法。以下是循环的示例:

def combine_dictionaries(dict1, dict2):
    result_dictionary = {}
    for key in dict1.keys():
        result_dictionary[dict1[key]] = dict2[key]
    return result_dictionary

combine_dictionaries({1:'apple', 2:'banana'}, {1:50, 2:30})

>>>{'apple': 50, 'banana': 30}
def dict_cross_match(dict1, dict2):
    new_dict = {}
    for item in dict1.keys():
        if item in dict2.keys():
            new_dict[dict1[item]] = dict2[item]
    return new_dict

mydictionary_1 = {1:'apple',2:'banana'}
mydictionary_2 = {1:50,2:30}
print(dict_cross_match(mydictionary_1, mydictionary_2))

这假设dict1的所有值都存在于dict2中。

循环浏览其中一个字典,并检查mydictionary_1中某个键的值是否存在于mydictionary_2中

def dict_cross_match(dict1, dict2):
    new_dict = {}
    for item in dict1.keys():
        if item in dict2.keys():
            new_dict[dict1[item]] = dict2[item]
    return new_dict

mydictionary_1 = {1:'apple',2:'banana'}
mydictionary_2 = {1:50,2:30}
print(dict_cross_match(mydictionary_1, mydictionary_2))
您可以使用python的字典理解来实现这一点-

Result_dictionary = { v:mydictionary_2[k] for k,v in mydictionary_1.iteritems() if k in mydictionary_2.keys()}
要了解这个列表理解是如何工作的,您甚至可以使用general for循环遍历mydictionary_1中的每个键、值对

for key,value in mydictionary_1.iteritems():
  if key in mydictionary_2.keys():
    Result_dictionary[value]=mydictionary_2[key]

循环浏览其中一个字典,并检查mydictionary_1中某个键的值是否存在于mydictionary_2中

您可以使用python的字典理解来实现这一点-

Result_dictionary = { v:mydictionary_2[k] for k,v in mydictionary_1.iteritems() if k in mydictionary_2.keys()}
要了解这个列表理解是如何工作的,您甚至可以使用general for循环遍历mydictionary_1中的每个键、值对

for key,value in mydictionary_1.iteritems():
  if key in mydictionary_2.keys():
    Result_dictionary[value]=mydictionary_2[key]

只是一个注释,字典没有顺序,所以你的结果字典可能有点混乱
{mydictionary_1[k]:v代表k,v在mydictionary_2.items()}
@vaultah,你的答案是第一位的,也是最有帮助的,试着把它作为答案发布,而不是一条评论,我会把你的答案标记为已解决,在评论中我无法标记…只是一个注释,字典没有顺序,所以你的结果字典可能有点混乱
{mydictionary_1[k]:v代表k,v在mydictionary_2.items()}
@vaultah,你的答案是第一位的,也是最有帮助的,试着把它作为答案而不是评论发布,我会把你的答案标记为已解决,在评论中我无法标记。。。。