2015-02-16 6 views
-5

У меня есть список:Сравнивая список словарь в Python

['Dinakar','Indiana','Python','Python']. Это только для примера.

Теперь у меня есть словарь: {"p1":("Dinakar":1, "Python":1)}. Обратите внимание, что нет Индианы.

Теперь я хочу пройти через словарь и проверить, находятся ли все элементы в списке в dict. Если его там нет, я бы добавил. Если он есть, я бы добавил счет.

так в конце концов, это будет выглядеть так:

{"p1":("Dinakar":1, "Python":2, 'Indiana':1)} 

Важно отметить, что мой ДИКТ будет выглядеть this:

Можете ли вы привести пример о том, как мы можем это сделать ? Я новичок в сборниках

+2

ОК, так что, где ваш код? – Kasramvd

+0

Вы описываете 'collections.Counter' – vaultah

+1

define' add it to dictionary'. У словаря есть ключ и значение. – njzk2

ответ

1

collections.Counter.

from collections import Counter 
items = ['a', 'b', 'c', 'c', 'b', 'a'] 
counter = Counter() 
counter.update(items) 
counter.update(['foo', 'bar', 'baz', 'baz', 'bar']) 
print(counter) 

печатает

Counter({'a': 2, 'c': 2, 'b': 2, 'bar': 2, 'baz': 2, 'foo': 1}) 

Чтобы получить голый словарь, просто использовать dict():

bare_dict(dict(counter)) 
print(bare_dict) 

отпечатки

{'a': 2, 'c': 2, 'b': 2, 'bar': 2, 'baz': 2, 'foo': 1} 
+0

@Anntti Как я могу достичь Dict, похожего на '{«p1»:(«Dinakar»: 1 , "Python": 2, 'Indiana': 1)} '. Обратите внимание, что я отредактировал мой вопрос – Rakanid

+0

Также как я могу избавиться от 'Counter' в: ' Counter ({'a': 2, 'c': 2, 'b': 2, 'bar': 2, ' baz ': 2,' foo ': 1}) ' – Rakanid

+0

Это также означает, что у меня будет p2 и т. д. и т. д. и может иметь тот же список ... – Rakanid

Смежные вопросы