Как мне вернуть список с количеством раз, когда какой-либо элемент встречается, если элемент существует в этом списке? - PullRequest
0 голосов
/ 09 октября 2019

Это немного сбивает с толку. Итак, предположим, что мой список ['AAA', 'AAB', 'AAC', 'BAA', 'BAB', 'BBA', 'BBB', 'BBC', 'BCC']

Я хочучтобы создать функцию, которая принимает данные типа 'AAA'.

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

Я застрял на этом. Будет ли список хотя бы на это способен?

Редактировать: Лучшее объяснение было бы так: В общем, у меня есть куча различных комбинаций строк. У меня есть отдельный список, который содержит различное количество этих комбинаций. Я хочу, чтобы мои выходные данные были различными строковыми комбинациями и счетчиком того, сколько раз это происходило в другом списке.

Ответы [ 3 ]

1 голос
/ 09 октября 2019

На основании интерпретации других ответов на ваш вопрос вы можете использовать Counter из сборников:

from collections import Counter

l = ['AAA','AAB','AAC','BAA','BAB','BBA','BBB','BBC','BCC']
c = Counter(l)
print(c['AAA']) # 1

, что примерно эквивалентно:

def counter(lst):
    d = {}
    for element in lst:
        if element not in d:
             d[element] = 0
        d[element] += 1
    return d
1 голос
/ 09 октября 2019

Если я правильно понимаю, вы имеете в виду:

a = [10, 20, 30, 10, 40, 10, 50, 20]

print("Total Number of Times 10 has repeated = ", a.count(10))
print("Total Number of Times 20 has repeated = ", a.count(20))

Если вы хотите узнать больше, попробуйте: https://www.tutorialgateway.org/python-count-list-items/

0 голосов
/ 09 октября 2019

Возможно, вы могли бы использовать то же решение, которое я дал для этого вопроса: Подсчет общего количества уникальных символов для строки Python

Единственное отличие состоит в том, что у вас есть список вместострока для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...