2 Stimmen

Python index a list where a regex matches

Erkennen Sie erneut, dass dies ähnlich ist wie einige andere Fragen auf SO, die ich jedoch nicht für meine Zwecke konvertieren konnte. z.B. mit dem folgenden Snippet

import re
a = ['rhabarber','einfacher Pudding','Marmelade','Vanillepudding','Kuchen','Käsekuchen']
s = re.compile('Pudding')

Ich möchte eine Liste erhalten können

[2,4]

das ist der Index der beiden Pudding Strings. Ich dachte, die folgende Frage würde helfen, aber ich konnte nicht herausfinden, wie ich sie hier anwenden soll.

Python-Äquivalent von which() in R

11voto

jamylak Punkte 119693
>>> import re
>>> a = ['rhabarber', 'einfacher Pudding', 'Marmelade', 'Vanillepudding', 'Kuchen', 'Käsekuchen']
>>> [i for i, s in enumerate(a, start=1) if re.search('Pudding', s)]
[2, 4]

Hinweis Python verwendet Null-Indizes, daher habe ich den Parameter start=1 zu enumerate hinzugefügt. In der Praxis sollten Sie start=1 weglassen, um den Standardwert start=0 zu haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X