У меня есть 2 списка имен игроков из 2 разных источников.
names1 = ['C.J. McCollum', 'Metta World', 'LeBron James', 'Stephen Curry']
names2 = ['Metta World Peace', 'Steph Curry', 'Kevin Durant', 'CJ McCollum']
Проблема здесь в том, что, хотя они и являются одними и теми же игроками, есть некоторые различия в том, как их имена упоминаются в источники. Я использовал следующий код, чтобы найти похожие имена (все символы в names1
должны существовать в names2
):
idx = np.zeros(3)
i = 0
for x, y in enumerate(names1):
for z, w in enumerate(names2):
if y in w:
idx[i] = x
i = i+1
Для каждой итерации names1
код среди всех итераций names2
и выводит индекс записи, аналогичный записи в names2
. idx
- список, который должен содержать индекс похожих строк. i
является индексом idx
. Каждый раз, когда обнаруживается подобная строка, она сохраняется в idx
и i
увеличивается на 1, так что следующая найденная запись будет записана в индексе i+1
из idx
.
Ожидаемый ответ : idx
= [0, 1, 3]
Однако я получаю следующую ошибку: list assignment index out of range
Как я могу исправить код и есть ли лучший способ решить эту проблему