Как, найдя значения в одном списке, сосчитать количество тех же самых значений во втором? Пример:
Допустим, есть список: 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
129 +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 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 989 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир