我有两个列表。我想与莱文施泰因距离进行比较。
第一个列表(raw_1
)是一个嵌套列表。
我想将第二个列表(List
)与(raw_1
)中嵌套列表的每个项目进行比较。如果raw_1
中的元素(嵌套列表)的一项与List的compare
(在代码中比较)之一之间的差为3,则应将比较项添加到第三列表({ {1}})。第一次满足条件后,就应该从column_1
的下一个元素开始。
我已经尝试过raw_1
不同的for循环,但是总是以很多不同的输出结尾,而这些输出并不是我想要的。
break
我目前仅获得所有项目的输出,然后进行比较和替换,但我只想将具有该条件的第一项打印在列表column_1 = []
for element in raw_1:
for item in element:
for compare in List:
if levenshtein(item, compare) < 4:
column_1.append(item.replace(item, compare))
column_1
中
希望有人能帮忙
也许更可能理解: 我有: 原始列表是:
column_1
输出应该是这样的:
List = ['Katharinenstr.', 'Jakobstr.', 'Wilhelmsplatz', 'Hauptstätterstr.',
'Schlosserstr.', 'Torstr.', 'Kreuzstr.', 'Brückenstr.',
'Obere Bachstr.', 'Holzstr.', 'Rosenstr.', 'Wilhelm-Murr-Str.',
'Esslinger Str.', 'Danziger Freiheit', 'Wagnerstr.', 'Leonhardsplatz']
raw_1 = [['n', 'j', 't', 't', 'k', '----', '--------------------------\n'],
['bvyrfL', 'A', 's:', '2.44:', 'W', 'A', '¦', 'Z', '-', 'S', '5\n'],
["'", 'M', 'S', 'J', 'I', '-', '’-f', '|', 'p', '2\n'],
['#', 'J', '•\n'], ['-', '4TZ-"', 'j\n'], ['j:', '-', '"\n'], ['.\n'], ['k\n'],
['Hu¨i\n'], ['.\n'], ['¦\n'], ['J', 'M', ':', '|>|P\n'], [',\n'], ["'\n"], ['.\n'],
['--------', '---------', '', ';---------------------', '—', '---------------------------------------------------A---------\n'],
['\n'], ['J', '|', '^', 'f', 'f', '.', '^', '-', '2', '^', '10/?--', '1\n'],
['V', 'Film', '2\n'], ['Aufnahme®', '*te*t', 'Kittel', '(Film', '1', 'ist', 'Picht', 'vorhanden)', 'B', '@', 'a', 'i', 'r', 'k', 'A', 'I\n'],
['Dai-ra', '22.8.42', 'Zeit', '„U-JLIÜ', 'Uhr', '|\n'],
['F', 'H', '®', 'Hr.', 'Strasse».', 'Platä', 'zmemism.', '|', 'Bemerkung®', 's,', 'I\n'],
['1', 'Katharinenstr.', 'FaUobstr.', 'u,Wilhelmsplatz', 'Nordseite', 'I\n'],
['2', 'i', 'Iakobstr.', 'Katharinenstr.u.Haupt-', 'Gesamtbild', '1\n'], ['stätterstr.', 'I\n'],
['3', 'Katharinenstr.', 'Silhelrnsplatz', 'u.Jakobskr,', 'Nordseite', 'I\n'],
['4', 'ilhelmsplatz', '|', 'Katharinen-u.Hauptstätterstr,', 'Nordostseite', 'I\n'],
['5', 'jHauptstätterstr,', 'N', 'r', '.', '1', '4', 'u.', 'Chrlstosstr.', 'Wilhelmsplatz', 'Nordwest-', 'I\n'],
['|', 'seit«', 'I\n'], ['6', '"', 'von', 'Wilhelmsplatz', 'nach', 'Tu¨dwiesten', 'I\n'],
['7', 'Wilhelmsplatz', 'alter', 'Marktbrunnen,', 'SUdwestjseite', 'I\n'], ['8', '"', 'Nr.10', '-', '12', 'SUdwestseite', 'I\n'],
['9', 'Schlosscrstr.', 'Einblick', 'von', 'Wilhelms^latz', 'I\n'], ['10', 'Houptstcktterstr.1^', 'Uhlandapotheke', 'I\n'],
['11', ';', '"', ':', 'Wilhelmsplatz', '«.Kaufhaus', ';', 'Nordwestseite', 'I\n'], ['jBreuninger', 'I\n'],
['.12', '!', 'Torftr.', '[Einblick', 'v.Hauptstätterstr.', '|', 'I\n'], ['13', 'iHauptstätterstr.jNr.50', '-', '36', 'I', 'Nordwestseite', 'I\n'],
['14', '"', 'iNr.34', 'und', 'Bru¨ckenstr.', '"', 'I\n'], ['1', '5', '"', '5', 'o', 'I\n'],
['16', 'I', 'Hauptstätterstr.', ';', "Hs.i'ir.24", 'und', 'Hs.Nr.2', '|', 'Nordwestseite', 'I\n'],
['17', 'IBru¨ckenftr.', 'Einblick', 'von', 'Haupt', 's', 't', 'a', 't', 't', '!', 'I\n'],
['18', 'I', 'Hauptstätterftr.Ö', 'Einblick', 'Marktstr.', 'I\n'], ['j', 'I0', 'bere', 'Bach', 'Str.2', 'i', 'I\n'],
['IHolzstr.', 'Wagnerstr.u.Danziger', 'Frei-', 'Nordwestseite', 'j\n'], ['heit', 'I\n'],
['20', 'IHolzstr.', 'Haupt-', 'Blick', 'nach', 'SUdwesten', '1', 'I\n'], ['I', 'stätterstr.', '^', 'I\n'],
['21', 'Rosenstr.', 'Holz-u.Untere', 'Bach', 'Str.', 'Su¨dseite', '|\n'], ['22', 'Holzstr.2', 'u.', '|', 'Lederstr.', 'Nordseite', 'I\n'],
['Lederstr.', 'I\n'], ['23', 'tilh.lcurr', 'Str.', 'Holz-', 'u.Untere', 'Bach', 'Str.', 'Gestapo', '|\n'],
['24', 'Holzstr.', '|', 'Danziger', 'Freiheit', 'und', 'Kauf-', 'NordwestseiteM;', '*', 'I\n'], ['j', 'haus', 'Breuninger', "'»", 'I\n'],
['25', 'Eßlingerstr.', 'j', 'Danz.Freiheit', 'u.Brennerftr,', 'I\n'], ['26', 'Danz.Freiheit', 'Holz-', 'u.EPlinger', 'Str.', 'Su¨dseite', 'I\n'],
['27', '|Eßlinger', 'Str.', 'Danz.Freiheit', 'u.Brennerstr.', 'Westseite', 'I\n'], ['28', 'IRosenstr.', 'j', 'Eßlinger', '8', 'tr»u,', 'Holzstr.', '|\n'],
['29', 'i', 'Eßlinger', 'Str.', "'", 'Brenner-', 'und', 'arosenftr.', 'j', 'Westseite', '1\n'], ['H\n'], ['------—', '¦', '¦', 'mk', '¦', '¦', '-', '¦', '^\n'],
['I', 'AufnahssjäHRa#i', 't.', '..', 'oo', '8', 'A2', 'tttei', 'm', '1-1,2«', '15', 'Uhr', 'jn?', '®-', 'a-', 'a', '*¦', 'vk', '8\n'],
['|', 'Fii®Sr', '<j', 'Strasse', '«Plsrts', 'j', 'wleolmg', 'SemsTkungtm\n'], ['I', '30', 'jEPlinget', 'Str.', 'Wagnerstr.u.', 'Leonhardsplatz', 'Westseite\n'],
['I', '31', 'bagnerstr.', 'Eßlinger-', 'und', 'Holzstr.', 'Su¨dseite\n'], ['I', '32', 'Eßlinger', 'Str.', 'Wagnerstr.', 'u.', 'Hs.Nr.19', 'Nordwestseite\n'],
['I', '33', 'jLeonhardsplatz', '!Blick', 'gegen', 'Hauptstätterstr.', '|\n'], ['I', '34', '*', 'Holz-', 'und', 'Eßlinger', 'Str.\n'],
['I', '35', '"\'', 'hinter', 'der', 'Leonhardskitche', 'Nordwestseite\n'], ['I', '36', '"', '|', '"', 'Gustav', 'Siegle', 'Haus', '"\n'],
['[', '3', '7', '"', 'Gustav', 'Siegle', 'Haus', 'u.Leon-', '|', '"\n'], ['1I', '.<hardskirche\n'], ['1']]
答案 0 :(得分:0)
使用 flag 并为每个循环添加一个条件。
for element in raw_1:
found = False
for item in element:
for compare in List:
if levenshtein(item, compare) < 4:
column_1.append(item.replace(item, compare))
found = True
break
if found: break