Python 3: Как сравнить два кортежа и найти похожие значения? - PullRequest
0 голосов
/ 05 октября 2018

У меня есть два словаря: (1)Inventory and (2)Items Под этими словарями находятся кортежи, которые добавляются с использованием пользовательского ввода.

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

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

Как сравнить два и сопоставить аналогичные значения, которые apple и mango

Мой код ничего не печатает:

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

1 Ответ

0 голосов
/ 05 октября 2018

Ваш исходный 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],
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...