python - 如果元组包含标点符号,如何从列表中删除元组
问题描述
我有元组列表:
tupl = [('0', 'Hey'),('1', ','),('2', 'I'), ('3', 'feel'),('4', 'you'), ('5', '!')]
我想删除任何包含标点符号的元组。
我已经尝试过使用以下代码,但它适用于'!'
,只是因为我不知道如何在此代码中放置多个条件。
out_tup = [i for i in tupl if '!' not in i]
print out_tup
如何删除所有包含标点符号的元组(例如','
)?
解决方案
使用any
前任:
import string
tupl = [('0', 'Hey'),('1', ','),('2', 'I'), ('3', 'feel'),('4', 'you'), ('5', '!')]
print([i for i in tupl if not any(p in i for p in string.punctuation)])
#or
print([i for i in tupl if not any(p in i for p in [",", "!"])])
推荐阅读
- java - Kotlin:如果前面没有数字,如何不重复数学运算?
- r - 包 Rmpi 已安装,但 R 返回“正在加载所需的包:Rmpi”
- python - 将带有 docker 的烧瓶应用程序部署到 heroku 时出现错误 R10
- java - 什么是最新的、兼容的 Jars 集,用于在 Eclipse 中使用 Cucumber
- c - 通过将消息传递给“配置”来实现 mac 自动化
- katex - 如何使用 Katex 围绕分数(“bbox”)制作背景框?
- node.js - 读取csv时如何计算行/循环
- r - Tidyr:删除字符串直到某个字符
- angular - 错误:未找到 [object Object] 的组件工厂。你把它添加到@NgModule.entryComponents 了吗?角 7
- python - 如何根据列条件将选定列从数据框中复制到另一个