Я видел некоторые ответы на похожие вопросы, но я не уверен, что они были лучшим способом решения моей проблемы.
У меня обрабатывается очень большая таблица (100 000+ строк из 20+ столбцов)как список словарей.Мне нужно сделать частичную дедупликацию этого списка, используя сравнение.Ниже я упростил пример того, что я делаю сейчас.
table = [
{ "serial": "111", "time": 1000, "name": jon },
{ "serial": "222", "time": 0900, "name": sal },
{ "serial": "333", "time": 1100, "name": tim },
{ "serial": "444", "time": 1300, "name": ron },
{ "serial": "111", "time": 1300, "name": pam }
]
for row in table:
for row2 in table:
if row != row2:
if row['serial'] == row2['serial']:
if row['time'] > row2['time']:
action
Этот метод работает (очевидно, упростил и просто написал «действие» для этой части), но у меня есть вопрос, есть ли болееэффективный метод, чтобы добраться до "строки", которую я хочу, без необходимости повторять всю таблицу.У меня нет способа обязательно предсказать, где в списке будут находиться совпадающие строки, но в этом случае они будут перечислены под одним и тем же «серийным номером».
Я относительно новичок в Python и эффективностиэто цель здесь.На данный момент с количеством повторяющихся строк это занимает много времени, и я уверен, что есть более эффективный способ сделать это, я просто не уверен, с чего начать.
Спасибо за любую помощь!