Количество элементов Python в словаре списков

У меня есть словарь списков, для которых я хочу добавить значение в конкретный список … У меня есть следующий словарь списков.

d = {'a': [4,'Adam', 2], 'b': [3,'John', 4], 'c': [4,'Adam', 3], 'd': [4,'Bill' 3], 'e': [4,'Bob'], 'f': [4, 'Joe'], 'g': [4, 'Bill']} 

Я хочу, по сути, подсчитать количество имен и вернуться. Так что в этом случае это будет что-то вроде

 Adam: 2 Bill: 2 John: 1 Bob: 1 Joe: 1 

Чтобы все было проще, все имена являются вторым элементом в списке или

 for i in d: d[i][1] 

Любая идея, как я могу сделать это эффективно? Я сейчас просто проверяю вручную каждое имя и подсчитываю и возвращаю его = /

Заранее спасибо!

2 Solutions collect form web for “Количество элементов Python в словаре списков”

collections.Counter всегда хорош для подсчета вещей.

 >>> from collections import Counter >>> d = {'a': [4,'Adam', 2], 'b': [3,'John', 4], 'c': [4,'Adam', 3], 'd': [4,'Bill', 3], 'e': [4,'Bob'], 'f': [4, 'Joe'], 'g': [4, 'Bill']} >>> # create a list of only the values you want to count, >>> # and pass to Counter() >>> c = Counter([values[1] for values in d.itervalues()]) >>> c Counter({'Adam': 2, 'Bill': 2, 'Bob': 1, 'John': 1, 'Joe': 1}) 
 d = {'key': 'value'} temp_dict = {} for key, values in d.items(): if values[1] in temp_dict: temp_dict[values[1]] = temp_dict[values[1]] + 1 else: temp_dict[values[1]] = 1 

Этот код длиннее предыдущего ответа, но это просто еще один способ получить те же результаты. В любом случае, temp_dict будет хранить имена в виде ключей и значений как количество раз, когда оно появляется.

  • Возьмите пересечение произвольного количества списков в python
  • Учитывая список имен переменных в Python, как мне создать словарь с именами переменных в виде ключей (к значениям переменных)?
  • Python: итерация по спискам по сравнению с элементами элементов dict
  • В Python, как найти общие слова из двух списков при сохранении порядка слов?
  • Python: создать новый список из списка при выполнении определенного условия
  • генератор питона генераторов?
  • Попытка подсчета слов в строке
  • OOP python - удаление экземпляра класса из списка
  • Python: цикл по списку строк и использование split ()
  • Функция разделения при записи открытого файла в Python
  • Пользовательский порядок сортировки списка
  • Python - лучший язык программирования в мире.