zuallererst sei erwähnt, ich bin kein Python-Profi.
Daher bräuchte ich eure Hilfe.
Ich habe zwei Listen von anderen Abfragen/Erzeugung.
Jetzt möchte ich nur die kompletten Strings aus "str_sql_tmp" rausfiltern, welche in teilen mit "fk_exists" übereinstimmen.
Ich habe folgendes gemacht:
Code: Alles auswählen
str_sql_tmp = [ "('R0001e5e7','C000219c0',st_geometryfromtext('POLYGON((1.0 2.0,2.0 2.0,2.0 1.0,1.0 1.0,1.0 2.0))'))",
"('R0001e5e8','C000219c6',st_geometryfromtext('POLYGON((2.0 3.0,3.0 3.0,3.0 2.0,2.0 2.0,2.0 3.0))'))",
"('R0001e5e9','C000219c2',st_geometryfromtext('POLYGON((3.0 4.0,4.0 4.0,4.0 3.0,3.0 3.0,3.0 4.0))'))"]
### normaly over 600.000 entries
fk_exists = ['R0001e5e7/C000219c0', 'R0001e5e9/C000219c2']
### normaly over 250.000 entries
str_sql = []
for x in str_sql_tmp:
if x[2:23].replace("','", "/") in fk_exists:
str_sql.append(x)
Allerdings enthalten die Listen rund 250.000 und rund 600.000 Einträge, wodurch der Vergleich sehr lange läuft.
Gibt es eine Möglichkeit, dies zu beschleunigen?