Python 3:如何比较两个元组并找到相似的值?

时间:2018-10-05 17:22:10

标签: python python-3.x dictionary tuples

我有两个字典:(1)Inventory and (2)Items 在这些词典下是元组,使用用户的输入添加了元组。

 dict_inventory = {('fruits', ['apple','mango'])

 dict_items = {('apple', [3, 5])
    ('mango', [4, 6])}

如何比较两者并匹配相似的值applemango

我的代码未打印任何内容:

for itemA in dict_inventory.values():
    for itemB in dict_items.keys():
        if itemA == itemB:
            print("Match!")

1 个答案:

答案 0 :(得分:1)

当您遍历值时,原始for-loop从清单字典中获取的值是list而不是string。由于它返回了一个列表,因此您还需要遍历这些值。这应该使您运行:

inventory = {
    "fruits": ["apples", "mangos",]
}

items = {
    "apples": [3, 5],
    "mangos": [4, 6],
}

for value in inventory.values():
    for item_a in value:
        if item_a in items.keys():
            print("Match!")

但是,您可以合并两个字典。

inventory = {
    "fruits": {
        "apples": [3, 5],
        "mangos": [4, 6],
    }
}