У меня есть два списка элементов:
list_1 = ['A', 'B', 'C', 'C', 'D']
list_2 = ['C', 'C', 'F', 'A', 'G', 'D', 'C']
Я хочу создать новый список с элементами, которые находятся в двух списках. Например:
['A', 'C', 'C', 'D']
Обратите внимание, что следует учитывать, что любой элемент может повторяться в списке несколько раз и должен быть в новом списке столько раз, сколько он повторяется в обоих списках. Например, «C» повторяется 2 раза в списке list_1 и 3 раза в списке list_2, поэтому в результате он появляется 2 раза.
Классическим методом для этого будет:
import copy
result = []
list_2 = fruit_list_2.copy()
for fruit in fruit_list_1:
if fruit in list_2:
result.append(fruit)
list_2.remove(fruit)
но мне интересно делать это по спискам генерации: [число для числа в числах, если число> 0]. Возможно ли это?