Ich habe eine for
Schleife, die eine Teilzeichenfolge jedes Elements in einer Liste von Zeichenfolgen mit den Elementen in einer anderen Liste von Zeichenfolgen vergleicht.Konvertieren einer For-Schleife in ein Listenverständnis
mylist = []
for x in list1:
mat = False
for y in list2:
if x[:-14] in y:
mat = True
if not mat:
mylist.append(x)
Allerdings würde Ich mag es, in einer Liste Verständnis setzen (für Schleifen für meinen Geschmack nicht so präzise sind), aber kann nicht einen Weg, es zu tun mit der Berechnung der mat
finden.
Ich habe versucht, Variationen:
mylist = [x for x in list1 if x[:-14] in list2]
Aber das ist nicht die gleiche Logik wie die ursprüngliche Schleife. Gibt es eine Möglichkeit, das Original für eine Schleife in Listenverständnis zu reformieren?
Nein Dies ist kein Konvertierungsservice. Wenn Sie das selbst versucht haben und irgendwo steckengeblieben sind, geben Sie bitte einen [mcve] an. Beachten Sie auch, dass nicht alle "for" -Schleifen zu Listenkompressen werden können. – jonrsharpe
Ich habe das Vorwort ausgeblendet, weil Meta-Inhalt nicht in Fragen gehört und Leute können runterspulen, ob sie Ihnen eine Antwort/einen Link zu einem geben. Es ist gar nicht * "offensichtlich, dass diese Frage gestellt wird, damit sie auf ein breiteres Spektrum von Problemen angewendet werden kann" *, ** du hast wortwörtlich darum gebeten, dass dein Beispiel umgerechnet wird **, ohne dass du selbst etwas anstellen musst Namen. – jonrsharpe
Soll ich Links zu all den anderen Dingen anbieten, die ich auf dieser Seite versucht habe? Das würde deine Aussage bedeuten. Dies ist eine einfache Frage, für die mehr Mühe aufgewendet wird, um zu beweisen, dass ich es versucht habe, als es nötig wäre, um die Frage zu beantworten. ziemlich absurd Antwort ... Ich verbrachte mindestens 30 Minuten wahrscheinlich suchen und versuchen, bevor Sie – user3496060