нечеткое совпадение среди трех списков на основе некоторого значения - PullRequest
0 голосов
/ 08 апреля 2020
list1 = [
    {'name': 'best value in town', 'value': 23, 'more_key': 'more values'},
    {'name': 'best Hero town', 'value': 'asdf', 'more_key': 'more values'},
    {'name': 'best Hero in town', 'value': 4, 'more_key': 'more values'},
    {'name': 'best town Hero ', 'value': 24, 'more_key': 'more values'},
    ...
]
list2 = [
    {'name': 'best value in town', 'value': 212, 'more_key': 'more values'},
    {'name': 'best zcv in town', 'value': 2323, 'more_key': 'more values'},
    ...
]

list3 = [
    {'name': 'best value in town', 'value': 2376, 'more_key': 'more values'}, 
    {'name': 'best test in town', 'value': 2376, 'more_key': 'more values'},

    ...
]

у меня есть 3 списка dict каждый размер n

мне нужно сопоставить значение name среди них что-то вроде использования fuzzywuzzy, если коэффициент совпадения выше некоторого процента, результаты должны быть объединены как еще один результат можно оставить как есть

пример вывода

[{"list1": {"name": "best value in town", "value": 23, "more_key": "more values"}, "list2": {"name": "best Hero in town", "value": 212, "more_key": "more values"}, "list3": {"name": "best Hero in town", "value": 2376, "more_key": "more values"}},
{"list1": {"name": "best value in town", "value": 23, "more_key": "more values"}, "list2": {"name": "best Hero in town", "value": 212, "more_key": "more values"}},
{"list1": {"name": "i am differnt then list2 & list3 ", "value": 24, "more_key": "more values"}}
]

Я могу написать код, но мне нужно решение, которое является эффективным с точки зрения памяти и времени кодом, поскольку списки могут иметь размер миллион

...