R'nin grepl
işlevine eşdeğer basit/tek satırlık bir python var mı?R's grepl'e eşdeğer en basit python
strings = c("aString", "yetAnotherString", "evenAnotherOne")
grepl(pattern = "String", x = strings) #[1] TRUE TRUE FALSE
R'nin grepl
işlevine eşdeğer basit/tek satırlık bir python var mı?R's grepl'e eşdeğer en basit python
strings = c("aString", "yetAnotherString", "evenAnotherOne")
grepl(pattern = "String", x = strings) #[1] TRUE TRUE FALSE
Sen liste anlama kullanabilirsiniz:
strings = ["aString", "yetAnotherString", "evenAnotherOne"]
["String" in i for i in strings]
#Out[76]: [True, True, False]
Ya re
modülü kullanmak: "Benzer bir dataframe kullanılarak
import re
[bool(re.search("String", i)) for i in strings]
#Out[77]: [True, True, False]
Ya Pandas
(R kullanıcı ile, bu kütüphanede ilginizi çekebilir "yapı):
import pandas as pd
pd.Series(strings).str.contains('String').tolist()
#Out[78]: [True, True, False]
tek satırlık eşdeğer re
kullanarak mümkündür: Bu, sadece iyi boolean değerleri, fakat truthy sonuçlar vermeyecektir
import re
strings = ['aString', 'yetAnotherString', 'evenAnotherOne']
[re.search('String', x) for x in strings]
.
normal bir ifade gerekmez, ama sadece bir dizede bir susbtring varlığı için test ediyorsanız: Liste anlama
["String" in x for x in strings]
harikalar! – OdeToMyFiddle
Eski çözümü "String $" için işe yaramayacağım, değil mi? (yani sadece substring match) – MichaelChirico
true Bu durumda regex modülünü kullanmanız gerekecektir. –