Создание словаря в словаре понимания - PullRequest
1 голос
/ 08 февраля 2020

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

Вот моя первоначальная попытка

number_list = [1,1,2,2,3,3,4,4,5,5]
number_count_dict = {i:1 for i in number_list}
{k: (number_count_dict[k]+1 if k in number_count_dict() else 1) for k in number_list}

Есть ли способ достичь этого без инициализации словарь

Ответы [ 2 ]

0 голосов
/ 08 февраля 2020

Считает только повторы (> 1)

>>> from collections import Counter
>>> x=[1,1,2,2,3,3,4,4,5,5]
>>> {i:j for i,j in Counter(x).items() if i>1}
{2: 2, 3: 2, 4: 2, 5: 2}
0 голосов
/ 08 февраля 2020

Возьмите этот пример для вашего вопроса:

 numbers = [5,3,3,4,2]

и позвольте нам сказать, хотите ли вы превратить его в словарь, где ключ - это индекс, а значение - это элемент в списке. Тогда вы могли бы сделать что-то вроде этого:

{index:numbers[index] for index in range(0,len(numbers))}

Вот результат:

{0: 5, 1: 3, 2: 3, 3: 4, 4: 2}
...