python - 通配符字符串搜索

标签 python string

我有一段代码试图在 for 循环期间将 'i' 插入到 f 字符串中。但是,我希望 Python 根据 'i' 是否包含某个字符串 ('nogood') 来过滤掉它。我注意到它适用于“=”或“in”,但不适用于“like”。我已经尝试了以下方法,但它无法编译...

i_list = ['hello', 'good', 'bad', 'bye', 'yup', 'yupnogood', 'hellogood']
final_list = [f"{i}_hello" for i in temp_list if i like '%good%']

您知道是否有一种简写方法可以在那里实现通配符搜索(如果这样做是好的做法)?

最佳答案

对于这种简单形式的通配符搜索,您可以使用 in 运算符:

i_list = ['hello', 'good', 'bad', 'bye', 'yup', 'yupnogood', 'hellogood']
final_list = [f"{i}_hello" for i in temp_list if 'nogood' in i]

如果你想要更复杂的东西,你可以研究正则表达式。

关于python - 通配符字符串搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71959384/

相关文章:

java - 标记包含空标记的字符串

c++ - 无需任何库函数即可将 float 转换为字符串的高效方法

python - 在python中递归打印钻石

python - 尝试使用 launchctl/launchd 运行 Python 脚本,但无法加载。退出状态为2

python - 使用 PyDrive 将图片上传到 Google Drive

MySQL STR_TO_DATE 对于只有月份和年份或只有年份的字符串

python - 如何在 Python 中检测字符串中的时间并将时间转换为不同的时区?

python - 使用 Bigquery 测试 yaml 的远大期望

python - 重新索引错误 - python

java - 将电子邮件、电话号码和 ID 表示为 POJO 而不是字符串