如果你只想知道d的任何项目是否包含在付费[j]中,你可以这样说:
if any(x in paid[j] for x in d): ...
如果你也想知道哪些项目被包含在付费[j]中:
contained = [x for x in d if x in paid[j]]
如果没有d项包含在[j]中,则将包含一个空列表。
还有其他解决方案,如果你想要的是另一种方法,例如,获得付款[j]中包含的第一项d(如果没有项目如此包含则为无):
firstone = next((x for x in d if x in paid[j]), None)
BTW,因为在评论中你提到句子和单词,也许你不一定需要一个字符串检查(这是我所有的例子都在做),因为他们不能考虑词边界 – 例如,每个例子都会说那个’猫’是在’混淆'(因为’obfuscate’包含’猫’作为一个子字符串)。为了允许对字边界进行检查,而不是简单的子字符串检查,您可以有效地使用正则表达式…但是我建议您打开一个单独的问题,如果这是您需要的 – 此答案中的所有代码片段,取决于对于您的确切要求,如果将付费[j]中的谓词x更改为某种更复杂的谓词(如somere.search(付费[j])),则适用于RE对象。
(Python 2.6或更好 – 2.5及更早版本略有不同)。
如果您的意图再次出现,如获得满足约束条件的d中的一个或所有指标,那么也可以轻松解决这些不同的问题,但是如果您实际需要的是如此之远从你说的话,我最好停止猜测,希望你澄清一下—)。