PDA

View Full Version : [python] Cercare una stringa in una lista


danyroma80
11-05-2010, 12:12
Ciao a tutti,
vi spiego brevemente il mio problema e vi ringrazio in anticipo

Quello che vorrei fare in sostanza è scorrere una lista di stringhe e fare qualcosa solo se l'elemento inizia con qxxxx dove le x sono 4 cifre qualsisi.

for item in lista:
-- if item LIKE "qxxxx":
----..........

Come potrei implementare quel "LIKE" utilizzando le funzioni e librerie python?

Ciao e grazie

Torav
11-05-2010, 12:35
Usa le regular expression (sì ok fanno schifo ma in questo caso c'è poco di meglio :p ). Per esempio:


import re
pattern = "^q[0-9]{4}"

for item in lista:
if re.search(pattern, item) != None:
# fai qualcosa, item comincia con qxxxx
else:
# niente da fare, item non comincia con qxxxx

danyroma80
11-05-2010, 13:08
Usa le regular expression (sì ok fanno schifo ma in questo caso c'è poco di meglio :p ). Per esempio:


import re
pattern = "^q[0-9]{4}"

for item in lista:
if re.search(pattern, item) != None:
# fai qualcosa, item comincia con qxxxx
else:
# niente da fare, item non comincia con qxxxx




Grazie mille,
credo sia il modo più efficiente nonchè elegante di fare la cosa