最简单的python相当于R的grepl

Dee*_*ena 17 python r python-2.7

有一个简单的/一行python等同于R的grepl功能吗?

strings = c("aString", "yetAnotherString", "evenAnotherOne") 
grepl(pattern = "String", x =  strings) #[1]  TRUE  TRUE FALSE
Run Code Online (Sandbox Code Playgroud)

Col*_*vel 25

您可以使用列表理解:

strings = ["aString", "yetAnotherString", "evenAnotherOne"]

["String" in i for i in strings]
#Out[76]: [True, True, False]
Run Code Online (Sandbox Code Playgroud)

或使用re模块:

import re

[bool(re.search("String", i)) for i in strings]
#Out[77]: [True, True, False]
Run Code Online (Sandbox Code Playgroud)

或者Pandas(R用户可能对此库感兴趣,使用数据框"类似"结构):

import pandas as pd

pd.Series(strings).str.contains('String').tolist()
#Out[78]: [True, True, False]
Run Code Online (Sandbox Code Playgroud)