Python - 两个字典值列表的交叉映射
当需要交叉映射两个字典值列表时,使用'setdefault'和'extend'方法。
示例
以下是相同的演示-
my_dict_1 = {"Python" : [4, 7], "Fun" : [8, 6]} my_dict_2 = {6 : [5, 7], 8 : [3, 6], 7 : [9, 8]} print("第一本字典是: " ) print(my_dict_1) print("第二本词典是: " ) print(my_dict_2) sorted(my_dict_1.items(), key=lambda e: e[1][1]) print("排序后的第一个字典是 ") print(my_dict_1) sorted(my_dict_2.items(), key=lambda e: e[1][1]) print("排序后的第二个字典是 ") print(my_dict_2) my_result = {} for key, value in my_dict_1.items(): for index in value: my_result.setdefault(key, []).extend(my_dict_2.get(index, [])) print("结果字典是: ") print(my_result)输出结果
第一本字典是: {'Python': [4, 7], 'Fun': [8, 6]} 第二本词典是: {6: [5, 7], 8: [3, 6], 7: [9, 8]} 排序后的第一个字典是 {'Python': [4, 7], 'Fun': [8, 6]} 排序后的第二个字典是 {6: [5, 7], 8: [3, 6], 7: [9, 8]} 结果字典是: {'Python': [9, 8], 'Fun': [3, 6, 5, 7]}
解释
两个字典被定义并显示在控制台上。
它们使用'sorted'方法和lambda方法进行排序并显示在控制台上。
创建了一个空字典。
字典被迭代,并且键被设置为默认值。
使用“扩展”方法获取第二个字典中元素的索引并将其添加到空字典中。
这是显示在控制台上的输出。