У меня есть цикл, который повторяет более 2 списков.
excel_data
- это список, созданный из электронной таблицы Excel, с новыми данными.
exists
- это список, созданный из SQL-запроса, существующих данных.
Мне нужно сравнить два и выполнить ОБНОВЛЕНИЕ SQL, если во 2-м столбце 2-го списка excel_data
для той же записи изменилось значение из exists
.
В настоящее время цикл, которыйзанимает время, равное
excel_data = [[0 for x in range(2)] for y in range(20000)]
exists = [[0 for x in range(2)] for y in range(20000)]
for i in range(0, len(excel_data)):
for j in range(0, len(exists)):
if exists[j][0] in excel_data[i][0] and exists[j][1] != excel_data[i][1]:
print("")
Поскольку оба списка имеют размер чуть меньше 20000 и будут только увеличиваться с течением времени, это эквивалентно итерации 400 миллионов раз. Это завершается через несколько минут, но мне было интересно, можно ли как-нибудь существенно сократить число итераций или каким-нибудь другим более коротким способом получить индекс строки, которая имеет разницу во 2-м столбце.
Входные данные выглядят следующим образом:
Sam Adams **********@gmail.com
Sammy Adams **********@gmail.com
Samuel Adams **********@gmail.com
Samantha Adams **********@gmail.com
Sam Adams **********@gmail.com
Я ищу, чтобы увидеть, есть ли во 2-м столбце, в этом случае, электронное письмо имеет какие-либо изменения для данного имени в той же строке.