Вы можете перебирать словарь, используя .items()
. Обратите внимание, что каждое значение само по себе является списком кортежей. Мы хотим распаковать каждый кортеж, поэтому нам нужен вложенный for-l oop, как показано ниже. res
- это список вывода, который мы будем заполнять в l oop.
res = []
for key, values in dict.items():
for value in values:
res.append((key, value[0], value[1]))
Пример вывода:
>>> res
[('A', 'B', 1), ('A', 'C', 3), ('A', 'D', 7), ('B', 'D', 5), ('C', 'D', 12)]
EDIT : если value
- это кортеж из более чем двух элементов, мы бы изменили последнюю строку следующим образом, используя распаковку кортежа :
res.append((key, *value))
Это эффективно распаковывает все элементы value
. Например,
>>> test = (1, 2, 3)
>>> (0, *test)
(0, 1, 2, 3)