Как узнать количество одинаковых элементов в двух списках?
У меня есть 2 списка с ответами, правильные ответы и ответы пользователя, надо сравнить два списка и узнать количество одинаковых элементов в списке, кол-во правильных ответов записать в переменную.
answers = [1, 2, 1, 2, 1, 1, 1, 2, 1, 1]
user_answers = [2, 2, 1, 2, 1, 2, 1, 2, 1, 2]
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
например, так
вариант 1:
answers = [1, 2, 1, 2, 1, 1, 1, 2, 1, 1]
user_answers = [2, 2, 1, 2, 1, 2, 1, 2, 1, 2]
count = sum(i[0] == i[1] for i in zip(answers, user_answers))
вариант 2:
те же яйки, только сбоку
count = len([i for i in zip(answers, user_answers) if i[0] == i[1]])
вариант 3:
count = len(set(enumerate(answers)) & set(enumerate(user_answers)))
Автор решения: SergFSM
→ Ссылка
в коллекцию вариантов:
import numpy as np
answers = [1, 2, 1, 2, 1, 1, 1, 2, 1, 1]
user_answers = [2, 2, 1, 2, 1, 2, 1, 2, 1, 2]
corr_answers = sum(np.array(answers)==np.array(user_answers)) # 7