В python я пытаюсь подсчитать каждый элемент в списке, используя для l oop, но он возвращает вхождение элемента n много раз - PullRequest
0 голосов
/ 16 февраля 2020

Эта функция возвращает вхождение элемента n много раз:

def cold_compress():
    l = int(input())
    inp_list = []
    num_list = []
    for lines in range(l):
        b = input()
        inp_list.append(b)
        print(b)

    for item in inp_list:
        for x in item:
            print(item.count(x))

Например: если мой ввод:

eeew www*1006*

33jjji

... будет выводиться:

3

3

3

4

4

4

4

2

2

3

3

3

1

Как мне избежать этого?

1 Ответ

2 голосов
/ 16 февраля 2020

Вы можете использовать Counter () для подсчета элементов в списке

Пример кода:

from collections import Counter
listr = ["one","two","three","three","three","three",]

print(dict(Counter(listr)))

OUTPUT

{'one': 1, 'two': 1, 'three': 4}

Реализация счетчика () в вашем коде:

from collections import Counter

def cold_compress():
    listr = list(input())
    print(dict(Counter(listr)))

cold_compress()
...