我需要创建一个有职位的集合。但是某些位置可以具有值None(当它们不属于游戏板时)。如何从我的设置中删除这些。或者我如何在手前确定我不需要在集合中添加它们? (添加的所有元素都是从我的代码中的不同函数获得的位置)。到目前为止我的代码(删除语句不起作用:Keyerror无。
collection = set()
collection.add((above,below,left,right,top_left,top_right,bottom_left,bottom_right))
if above == None:
collection.remove(above)
return collection
提前致谢!
答案 0 :(得分:3)
collection = set()
collection.add('a')
collection.add(None)
collection
Out[501]: {None, 'a'}
#you can use the set minus operator to remove None
collection - set([None])
Out[502]: {'a'}
答案 1 :(得分:3)
set.add
向该集添加单个元素。在您的情况下,您添加了一个tuple
,其中包含所有值。如果tuple
中的某个项目是None
,则无关紧要。您应该使用set.update
代替。然后有几种方法可以删除它。
collection = set()
collection.update((above,below,left,right,top_left,top_right,bottom_left,bottom_right))
collection.discard(None)