在python中消除集合函数中的0

在python中消除集合函数中的0,python,python-2.7,Python,Python 2.7,如何从集合函数中消除0 uniq_events = set((row[self.param]) for row in self.fpt) o/p set(['1','2','0','3') 现在我想要这样的o/p set(['1','2','3') 您可以在以下位置执行此操作: uniq_events.discard("0") 或创建一个新集合: new_events = uniq_events - {"0"} 仅当uniq_事件在集合中包含None或0时,我才想消除 您可以使用evt-

如何从集合函数中消除0

uniq_events = set((row[self.param]) for row in self.fpt)
o/p
set(['1','2','0','3')
现在我想要这样的o/p

set(['1','2','3')

您可以在以下位置执行此操作:

uniq_events.discard("0")
或创建一个新集合:

new_events = uniq_events - {"0"}

仅当uniq_事件在集合中包含
None
0
时,我才想消除

您可以使用
evt-={'0',None}

In [10]: evt = set(['1','2','0','3',None])

In [11]: evt
Out[11]: set(['1', '0', '3', '2', None])

In [12]: evt -= {'0', None}

In [13]: evt
Out[13]: set(['1', '3', '2'])
或者,您可以在填充集合时删除不需要的元素:

uniq_events = set(row[self.param] for row in self.fpt if row not in [None, '0'])

只有当uniq_事件在集合中不包含任何事件或0时,我才想消除它。
uniq_事件=set((row[self.param])对于self.fpt中的行){0'}
uniq_事件=set((row[self.Header1])对于self.filepointer中的行)new_事件=uniq_事件-{0}返回新的_事件问题是OP有一个
set
字符串,而不是数字。执行
uniq_事件。放弃('0')
new_事件=uniq_事件-{'0'}
。更新了使用字符串的答案。为什么要执行其他操作?您可以在填充循环中添加两个条件。@ZagorulkinDmitry:我没有看到循环,所以不确定您的意思。