python - 如何检查字符串是否包含Python列表中的任何3个元素
问题描述
如何检查给定列表中的任何 3 个元素是否存在于字符串中。
例如 -
words_to_check = ['apple', 'orange', 'banana', 'pear']
sample_string = 'apple, orange, and banana are fruits'
Answer - True
sample_string = 'apple and orange are fruits'
Answer - False (since only 2 elements match)
sample_string = 'apple, banana and pear are fruits'
Answer - True
sample_string = 'apple is a fruit'
Answer - False
我知道如果我想检查字符串是否包含列表中的任何 1 个元素,我可以执行以下操作 -
if any(fruit in sample_string for fruit in words_to_check):
print(sample_string)
我怎样才能对任何 3 个(或 n 个)元素执行相同的操作?
我知道我可以使用 3 if 条件来做到这一点,但有没有优雅/pythonic 的方法来解决这个问题?
解决方案
您可以使用以下方法:
>>> sample_string = 'apple, orange, and banana are fruits'
>>> len([True for fruit in words_to_check if fruit in sample_string])
3
推荐阅读
- flutter - Flutter FutureBuilder:“响应”类型不是“字符串”类型的子类型
- amazon-web-services - EC2 实例不应有公共 IP 地址 | AWS 基础安全最佳实践
- python - 在 Python 中更改函数中的全局列表时不需要声明“gobal”?
- google-apps-script - Google Sheets 脚本:搜索字符串的最快方法(不需要位置)
- c# - “这些列当前没有唯一值”,如何避免此异常?
- windows - chef ohai 没有获取任何操作系统属性
- janus-gateway - Janus RTC:在 WebRTC 中查看的 RTMP 广播
- excel - 如何在Excel中对一行中的值求和?
- javascript - 从特定的 ts 文件创建记录器文件
- python-3.x - 如何将 Pandas 数据框打印到保留 Pandas 列格式的 Kivy ScrollView 标签