如何检查列表中的项目包含在python中

时间:2017-11-15 09:23:38

标签: python string list special-characters

我有2个清单,

my_list = ['on@3','one',"$", "lo#"]
spl = ["@","$"]

我试图获取'my_list'中的项目,其中包含spl。

中的任何项目

我试过

out_list = [item for item in my_list if item.contains("!".join(spl))]

但这会产生错误。

我的预期输出是

out_list = ["on@3","$"]

2 个答案:

答案 0 :(得分:4)

没有$usersEnterpriseId = Auth::user()->enterprise_id; $enterprises = Enterprise::find($usersEnterpriseId); foreach ($enterprises->projects as $pivotTableProject) { $reports[] = Report::where('project_id', $pivotTableProject->pivot->project_id)->get(); }这样的方法。有item.contains,但您无需直接调用它。

您想要检查项目中是否包含item.__contains__项中的任何,请使用内置 spl

any

答案 1 :(得分:1)

result = [item for item in my_list for s in spl if s in item]

更具人性化的形式:

result = []

for item in my_list:
    for s in spl:
        if s in item:
            result.append(item)