Я создаю новый словарь от my_list
. Проверьте каждый элемент и добавьте в словарь новый ключ , и любой элемент будет таким же для ключа, а затем добавьте его так же, как и его значение.Создать новый словарь в списке
Проблема заключается в том, что новый ключ создан, его элемент не добавляется к значению для этого ключа.
Мой код:
my_list = ['a', 'b', 'c', 'a', 'a', 'b']
my_dict = {}
for item in my_list:
if item in my_dict:
my_dict[item] = [item]
my_dict[item] = []
print my_dict
результат выглядит следующим образом:
{'a': [], 'c': [], 'b': []}
но я хочу выглядеть:
{'a': ['a', 'a'], 'c': [], 'b': ['b']}
В цикле 'for' вы ** всегда ** заменяете' my_dict [item] = [] 'в конце - почему ?! И вы никогда не добавляете. Поразмыслите над тем, что должна делать функция на каждом шаге. Вы можете сделать это намного проще с помощью 'my_dict = collections.defaultdict (list)'. – jonrsharpe