Сравните два списка и напечатайте количество отображаемых общих элементов

Я хотел бы сравнить items1 с items2и распечатать наиболее распространенные числа из items2 которые появляются в items1,

Числа в items1 фиксируются в то время как числа в items2 обновляются. Я также хотел бы посчитать, сколько раз каждое число появляется. Это то, что я придумала до сих пор:

import collections

items1 = [12, 23, 34, 45, 56, 67, 78, 89, 13, 24, 35, 46, 57, 68, 79, 014]
items2 = [528, 98, 925, 902, 67, 78, 89, 13, 24, 35, 46, 57]
results = collections.Counter()

for _ in items:
    number = (draws)
    results.update([tuple(number)])

print results.most_common(3)

1 ответ

Попробуйте следующий код:

items1 = [12, 23, 34, 45, 56, 67, 78, 89, 13, 24, 35, 46, 57, 68, 79, 014]
items2 = [528, 98, 925, 902, 67, 78, 89, 13, 24, 35, 46, 57]
itemcount = {item: items2.count(item) for item in items1}

print [[number, itemcount[number]] for number in sorted(itemcount.keys(), key=lambda x:itemcount[x])[::-1][:5]] 
#Prints [common value: occurences], as such: [[89, 1], [46, 1], [35, 1], [24, 1], [13, 1]]
Другие вопросы по тегам