Python 列表查找中部分字符串匹配的一行

Python 列表查找中部分字符串匹配的一行,python,Python,有没有更简单的方法来执行以下操作 filename = 'vudu_hail_20140101.xml' acceptable_stems = ['vudu', 'google'] process_file = False for acceptable_stem in acceptable_stems: if acceptable_stem in filename: process_file = True 基本上,我是在寻找一个关于文件名中是否有一个词干的布尔行列式。

有没有更简单的方法来执行以下操作

filename = 'vudu_hail_20140101.xml'
acceptable_stems = ['vudu', 'google']

process_file = False
for acceptable_stem in acceptable_stems:
    if acceptable_stem in filename:
        process_file = True
基本上,我是在寻找一个关于文件名中是否有一个词干的布尔行列式。如何使用一行程序实现这一点?

如何使用关键字:

示例:

>> filename = 'vudu_hail_20140101.xml'
>> acceptable_stems = ['vudu', 'google']
>> any([acceptable_stem in filename for acceptable_stem in acceptable_stems])
True

>> filename = 'vudu_hail_20140101.xml'
>> acceptable_stems = ['vuduf', 'google']
>> any([acceptable_stem in filename for acceptable_stem in acceptable_stems])
False

这不应该继续进行代码审查,而不是停留在这里吗?@Zizouz212这里的代码只是为了解释这个问题;这不是代码审查的问题。@AmiTavory有没有更简单的方法来执行以下操作?它显然有效…@Zizouz212我明白你的意思,但我认为我们对重点的理解不同。我想我们会同意在这个问题上有分歧的。啊,这都很好。我不会太担心的。如果其他人参与进来,他们可以做出决定。:)如果需要,可以删除方括号-无需将生成器转换为
列表
@TigerhawkT3-删除为我生成的括号
,而不是布尔值。结果为
为我生成了
为真
(使用第一个示例)的
any(可接受的\u-stem在文件名中表示可接受的\u-stem在可接受的\u-stem中)
@TigerhawkT3我相信你,但我真的不相信。我在CentOs6.5上运行过时版本的IPython和python2.7(在洞穴中)。这能解释区别吗?有趣的是,我总是把它放在IPython笔记本上,而不是控制台上。我想我会问一个问题。
>> filename = 'vudu_hail_20140101.xml'
>> acceptable_stems = ['vudu', 'google']
>> any([acceptable_stem in filename for acceptable_stem in acceptable_stems])
True

>> filename = 'vudu_hail_20140101.xml'
>> acceptable_stems = ['vuduf', 'google']
>> any([acceptable_stem in filename for acceptable_stem in acceptable_stems])
False