Форум сайта python.su
начал осваивать питон сегодня
есть список, нужно каждый элемент списка сравнить с заданным элементом, посчитать сколько их в списке.
то есть допустим есть список букв, нужно посчитать сколько букв “а”, или сколько цифр “2” и тд
логика скорее всего такая: создаем цикл, в нем каждый эелемент в списке сравниваем с некоей переменной. при каждом совпадении в счетчике делаем “+1”, дойдя до конца списка программы выдает конечный ответ. записать правильно пока не получается
заранее благодарю
Отредактировано 3AXAPOH (Авг. 29, 2016 20:25:52)
Офлайн
ну хотя бы описали в чем проблема.
fantom = 2 spisok = [1,2,7,55,2,78,4,67,2,3,2,25,2] res = 0 for i in spisok: if i == fantom: res += 1 print(res)
print(spisok.count(fantom))
Отредактировано marvellik (Авг. 29, 2016 20:59:17)
Офлайн
marvellik
ну хотя бы описали в чем проблема.
Офлайн
Ну можно список в стринг да искать по строке
# -*- coding: utf-8 -*- symbol = '5' spisok = [1, 2, 7, 55, 2, 78, 4, 67, 2, 3, 2, 25, 2] result = ''.join(str(e) for e in spisok) print(result.count(symbol))
Офлайн
ZerG
Ну можно список в стринг да искать по строке
Офлайн
ZerG
Ну можно список в стринг да искать по строке
Офлайн
Join - обьединить
split - разделить
l = ['a', 'b', 'c'] ll = ''.join(l) print(ll) abc
s = 'one two tree' ss = s.split() print(ss) ['one', 'two', 'tree']
Офлайн
3AXAPOH
нужно каждый элемент списка сравнить с заданным элементом
3AXAPOHну я думаю что ‘5’ и ‘55’ это разные строки как 5 и 55 тоже разные числа поэтому и проигнорирует.если список состоит из строк то тогда так
будете считать например пятерки
fantom = '5' spisok = ['1','2','555','55','25','78','525','2'] res = 0 for i in ''.join(spisok): if i == fantom: res += 1 print(res) >>> 8
print(''.join(spisok).count(fantom)) >>> 8
Офлайн
>>> def count_char(seq, ch): ... return sum(i.count(ch) for i in seq) ... >>> lst = ['abc', 'def', 'aab', 'ghi', '1a2'] >>> >>> count_char(lst, 'a') 4 >>> count_char(lst, 'e') 1 >>> count_char(lst, 'x') 0 >>>
Офлайн