python比较列表所有字符串_python – 将字符串与数组中的所有值进行比较

如果你只想知道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中的一个或所有指标,那么也可以轻松解决这些不同的问题,但是如果您实际需要的是如此之远从你说的话,我最好停止猜测,希望你澄清一下—)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值