如何将两个具有相同键的字典合并为一个包含元组值的字典?

如何将两个具有相同键的字典合并为一个包含元组值的字典?

如何将相同键的两个字典合并为一个具有元组值的字典

python 中,合并两个具有相同键的字典,使其值成为一个包含两个值元组的新字典,可以使用嵌套 for 循环。然而,如果字典的值不是可迭代对象(例如整数),则会引发 typeerror。

以下是如何正确执行此操作:

# 学生学号姓名字典
num_name = {100: "王一", 101: "李二", 102: "张三", 103: "钱四", 104: "孙五", 105: "马六"}

# 学生学号bmi字典
num_bmi = {102: 25.8, 100: 18, 105: 21, 104: 22}

# 创建一个新字典来存储合并后的数据
new = {}

# 遍历学号姓名字典
for num in num_name:
    # 遍历学生学号bmi字典
    for key in num_bmi:
        # 如果学号相同,则将学号姓名和bmi添加到新字典中
        if num == key:
            new[num] = (num_name[num], num_bmi[key])

# 打印合并后的字典
print(new)

输出:

{100: ('王一', 18), 102: ('张三', 25.8), 104: ('孙五', 22), 105: ('马六', 21)}

以上就是如何将两个具有相同键的字典合并为一个包含元组值的字典?的详细内容,更多请关注其它相关文章!