использование цикла for для подсчета элементов списка в строке - PullRequest
0 голосов
/ 29 сентября 2019

Я новичок в питоне, изучаю его для целей биологии.

Хорошо, давайте предположим, что я хочу написать функцию, которая будет перебирать список, чтобы подсчитать, сколько его элементов в строке используется для цикла for

def counting(string,lista):
    for element in lista:
        element_count=string.count(element)
    return element_count

, поэтому при использовании вышеуказанной функциичтобы найти, сколько A и C в моей строке

print(counting('AABCDEF',['A','C']))

Кажется, что функция возвращает только число C в строке, равное 1, что я хочу получить количество элементов.Кажется, что добавление строки печати внутри тела цикла решит проблему,

def counting(string,lista):
    for element in lista:
        element_count=string.count(element)
        print(element_count)
    return element_count

Есть ли способ получить тот же вывод без использования оператора печати?

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

1 Ответ

0 голосов
/ 29 сентября 2019

Вернуть результат в виде списка.

def counting(string,lista):
    temp = []
    for element in lista:
        temp.append(string.count(element))
    return temp

print(counting('AABCDEF',['A','C']))

Результат будет

[2, 1]

Чтобы напечатать несколько подробностей,

def counting(string, lista):
    temp = []
    for element in lista:
        temp.append('{} count is {}'.format(element, string.count(element)))
    return ', '.join(temp)

print(counting('AABCDEF', ['A','C']))

Тогда

A count is 2, C count is 1
...