Количество элементов 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] 

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

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

  • Удалить строку из текстового файла с помощью Python
  • Почему exec не работает в функции с подфункцией?
  • Как предотвратить str для кодирования символов Unicode в виде шестнадцатеричных кодов?
  • Включить счетчик nonce и блоков в PyCrypto AES MODE_CTR
  • Python json.loads показывает ValueError: Дополнительные данные
  • Вопрос Django и SSL
  • Как установить библиотеку python вручную
  • Питонический путь для «возобновления следующего» на исключениях?
  • 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 будет хранить имена в виде ключей и значений как количество раз, когда оно появляется.

    Interesting Posts

    Сделайте django admin для отображения не более 100 символов в результатах списка

    Многопроцессорная передача Непересекающиеся объекты между процессами

    Значок смещения временной зоны, измененный Python dateutil?

    Печать BFS (двоичное дерево) в порядке уровня с _специфическим форматированием_

    Django и динамически генерируемые изображения

    Невозможно рассортировать <тип 'instancemethod'> при использовании многопроцессорности Pool.map ()

    Стандартный способ встраивания версии в пакет python?

    Обращение строки в Python с использованием цикла?

    Задайте значения в массиве numpy в NaN по индексу

    как применить функцию к нескольким столбцам в кадре данных pandas за один раз

    Преобразовать объект datetime в строку String только в Python

    Извлечь reStructuredText из sphinx autodoc?

    Кэширование просмотра Django для каждого пользователя

    Использование mock для исправления задачи сельдерея в модульных тестах Django

    Является ли хорошей практикой зависимость от python с … как выражение

    Python - лучший язык программирования в мире.