Vairāk
Vai Python ir virknes 'contains' apakšvirknes metode?
Es meklēju string.contains
vai string.indexof
metodi Python valodā.
Es gribu darīt:
if not somestring.contains("blah"):
continue
3601
3
Varat izmantot
in
operatoru:Ja tā ir tikai apakšvirkņu meklēšana, varat izmantot
string.find("substring")
.Tomēr ir jābūt nedaudz uzmanīgam ar `
find
,index
unin
, jo tās ir apakšvirkņu meklēšanas. Citiem vārdiem sakot, šis:Tas izdrukātu
Radīts 'ir' rindā.
LīdzīgiJa "ir" s:
būtuTrue
. Tas var būt vai nebūt tas, ko jūs vēlaties.Ja adata siena kaudzē:
ir normāls lietojums, kā saka @Michael - tas balstās uz operatoruin
, kas ir lasāmāks un ātrāks nekā metodes izsaukums.Ja operatoru vietā patiešām ir vajadzīga metode (piemēram, lai veiktu kādu dīvainu
key=
ļoti savdabīgai šķirai...?), tad tā būtu `{39;haystack'.__contains__
. Bet, tā kā tavs piemērs ir paredzēts lietošanaiif
, domāju, ka tu nemaz nedomā to, ko saki;-). Nav ne laba forma (ne lasāmība, ne efektivitāte) izmantot īpašās metodes tieši - tās ir jāizmanto, izmantojot operatorus un iebūvētos elementus, kas tos deleģē.