Словарь Python по умолчанию, кажется, дает дубликат ключа – что происходит?Python

Программы на Python
Anonymous
Словарь Python по умолчанию, кажется, дает дубликат ключа – что происходит?

Сообщение Anonymous »

Мой код ниже, который возвращает данные в качестве словаря по умолчанию в Python, выдает следующий результат:
defaultdict(, {'[0, 13, 26, 39]': ['1']})
defaultdict(, {'[0, 13, 26, 39]': ['1']})
defaultdict(, {'[6, 19, 32, 45]': ['1']})
defaultdict(, {'[3, 16, 29, 42]': ['1']})

Как можно получить дубликаты ключей в приведенном выше выводе?
Разве это не должно быть так:
defaultdict(, {'[0, 13, 26, 39]': ['1', '1']})
defaultdict(, {'[6, 19, 32, 45]': ['1']})
defaultdict(, {'[3, 16, 29, 42]': ['1']})

Код, который я использую:
def make_bands(value):
d2 = defaultdict(list)
for key, val in value.iteritems():
d2[(str(list(val[0:4])))].append("1")

print d2

value — это еще один словарь.
Функция make_bands вызывается для обработки Spark RDD следующим образом:< /p>
signatureBands = signatureTable.map(lambda x: make_bands(x)).collect()


Подробнее здесь: https://stackoverflow.com/questions/427 ... -happening

Вернуться в «Python»