Вы упомянули в комментариях, что у вас есть повторяющиеся записи. Мы можем работать с этим. Возьмите ваш любимый метод генерации списка кортежей и разверните его в цикл for
:
from itertools import izip
dictionary = {}
for k, v in izip(List[::2], List[1::2]):
if k not in dictionary:
dictionary[k] = set()
dictionary[k].add(v)
Или мы могли бы использовать collections.defaultdict
, поэтому нам не нужно проверять, инициализирован ли ключ:
from itertools import izip
from collections import defaultdict
dictionary = defaultdict(set)
for k, v in izip(List[::2], List[1::2]):
dictionary[k].add(v)
Мы закончим словарем, в котором все ключи являются наборами, а наборы содержат значения. Это все еще может не подходить, потому что наборы, такие как словари, не могут содержать дубликаты, поэтому, если вам нужен один ключ для хранения двух одинаковых значений, вам нужно изменить его на кортеж или список. Но это должно начать вас.