首页 > 解决方案 > 如果元组包含标点符号,如何从列表中删除元组

问题描述

我有元组列表:

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

如何删除所有包含标点符号的元组(例如',')?

标签: pythontuples

解决方案


使用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 [",", "!"])])

推荐阅读