Make Python сравнивает списки

#python #list

#python #Список

Вопрос:

Очень новичок в python, поэтому я понятия не имею, как это сделать.

В принципе, у меня есть такой список:

 notes = [60, 62, 64, 60, 67, 69, 71]
 

Я хочу, чтобы python сравнил этот список с 12 другими списками, имеющими похожие номера, и выяснил, какой из этих 12 списков имеет наибольшее количество значений с исходным списком.
Как я могу это сделать?

Спасибо!

Комментарии:

1. Вы уже пробовали что-нибудь? Может быть, вы могли бы поделиться тем, что вы пробовали, и как бы вы начали выполнять эту задачу. Например, вы могли бы сделать это в цикле for для каждого списка, который вы сравниваете, и перебирать элементы и подсчитывать количество элементов, которые списки разделяют с исходным.

Ответ №1:

Я не знаю, как программа получает другие списки, но это пример того, как вы могли бы это сделать:

 notes = [60, 62, 64, 60, 67, 69, 71]

other_notes = [
    [60, 0, 1, 2, 3, 4, 5],
    [60, 62, 1, 2, 3, 4, 5],
    [60, 62, 64, 2, 3, 4, 5],
    [60, 62, 64, 2, 3, 4, 5],
    [60, 62, 64, 60, 3, 4, 5],
    [60, 62, 64, 60, 67, 5],
    [60, 62, 64, 60, 67, 71],
    [60, 0, 1, 2, 3, 4, 5],
    [60, 0, 1, 2, 3, 4, 5],
    [60, 0, 1, 2, 3, 4, 5],
    [60, 0, 1, 2, 3, 4, 5],
    [60, 0, 1, 2, 3, 4, 5]
]

max_value = (-1, -1)

for i in range(len(other_notes)):
    data = set(notes) amp; set(other_notes[i])
    if len(data) > max_value[0]:
        max_value = (len(data), i)

print("The list that shares more values with the original is {0}. The index position is {1}".
      format(other_notes[max_value[1]], max_value[0]))