Почему: dict() уменьшает длину списка, когда оба списка имеют одинаковую длину?

#python-3.x

#python-3.x

Вопрос:

Я использовал dict(zip(list1, list2)) оба списка имеют длину 211, но после dict(zip(list1,list2)) длина словаря равна 185. Повторяющегося значения нет, почему происходит уменьшение длины и как это исправить, чтобы длина dict составляла 211

Комментарии:

1. Не могли бы вы показать некоторые значения обоих списков

2. вы уверены, что дубликатов нет, и каждый список имеет одинаковую длину? попробуйте преобразовать list , чтобы set затем проверить длину

3. о, после преобразования в set я понял, что 1 из списка получил дубликаты упс. Спасибо

Ответ №1:

Я предлагаю вам сначала изменить свой вопрос, чтобы дать более подробную информацию (например, образец двух списков, используемый код и т.д.)

Тем не менее, проблема совершенно очевидна — у вас есть дубликаты ключей в их списке ключей, то есть:

 key_list = ['a', 'b', 'a'] #the duplicate key 'a'
value_list = [1, 2, 3]
d = dict(zip(key_list, value_list)) #d = {'a': 3, 'b': 2}