Программирование
Подсчет вхождений элементов списка Python
Из списка целых чисел подсчитайте появление каждого элемента, добавьте элементы и посчитайте как подсписок.
Список ввода: inp = [7, 9, 7, 4, 3, 5, 3, 6, 9, 3]
Список вывода: out = [[7, 2], [9, 2], [4] , 1], [3, 3], [5, 1], [6, 1]]
# Примечание: где 7 - это элемент списка, а 2 - количество вхождений
Использование вложенных циклов
def count_items(inp): for i in range(0, len(inp)): a = 0 row =[] if i not in l: for j in range(0, len(inp)): if inp[i]== inp[j]: a = a + 1 row.append(inp[i]) row.append(a) l.append(row) for j in l: if j not in out: out.append(j) return out
Вызовите функцию и проверьте вывод:
#call func() inp = [7, 9, 7, 4, 3, 5, 3, 6, 9, 3] l = [] out = [] print(count_items(inp)) Output: [[7, 2], [9, 2], [4, 1], [3, 3], [5, 1], [6, 1]]
Использование метода count ()
def count_items(inp): for i in inp: row =[] ct = 0 ct = inp.count(i) row.append(i) row.append(ct) l.append(row) for j in l: if j not in out: out.append(j) return out
Вызовите функцию и проверьте вывод:
#call func() inp = [7, 9, 7, 4, 3, 5, 3, 6, 9, 3] l = [] out = [] print(count_items(inp)) Output: [[7, 2], [9, 2], [4, 1], [3, 3], [5, 1], [6, 1]]
Использование метода counter ()
from collections import Counter def count_items(inp): coll = Counter(inp) out = [] for key,val in coll.items(): out.append([key,val]) return out
Вызовите функцию и проверьте вывод:
#call func() inp = [7, 9, 7, 4, 3, 5, 3, 6, 9, 3] print(count_items(inp)) Output: [[7, 2], [9, 2], [4, 1], [3, 3], [5, 1], [6, 1]]
Подводя итог, мы рассмотрели несколько способов подсчета вхождений элементов списка, как показано ниже:
- count () метод
- вложенные циклы
- метод библиотеки коллекций counter ()
Это все, что касается количества вхождений элементов списка.
Спасибо за то, что прочитали мой блог и поддержали его содержание. Признательность всегда помогает поддерживать дух. Постараюсь изо всех сил, чтобы и дальше создавать качественный контент. Свяжитесь со мной, чтобы получать новости о предстоящем новом контенте.