Как, найдя значения в одном списке, сосчитать количество тех же самых значений во втором? Пример:
Допустим, есть список: lst1 = [a, b, c]. И второй список: lst2 = [d, a d, e, a, f, a, d, b, b, c, a, b, k, e, a, c, c, b].
Надо на каждое из значений lst1 найти количество тех же a, b, c в lst2, чтобы вывод был такой:
a: 5
b: 4
c: 3
Как это реализуется при помощи словаря? Может, есть какое-то изящное решение, чтобы не городить счётчики на каждое из значений lst1?

21 Авг 2019 в 06:24
161 +1
0
Ответы
1

Да, для этой задачи можно использовать словарь и метод count() для подсчета количества вхождений каждого значения из lst1 в lst2. Вот пример кода:

lst1 = ['a', 'b', 'c']
lst2 = ['d', 'a', 'd', 'e', 'a', 'f', 'a', 'd', 'b', 'b', 'c', 'a', 'b', 'k', 'e', 'a', 'c', 'c', 'b']
counts = {key: lst2.count(key) for key in lst1}
for key, value in counts.items():
print(f"{key}: {value}")

Этот код создает словарь counts, в котором ключами являются элементы из lst1, а значениями - количество их вхождений в lst2. Затем происходит итерация по элементам словаря и вывод на экран.

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир