我正在尝试检查某些类型的元组的元组列表。我以为_运算符可以在这里工作,但是不起作用。我想我可以遍历列表并手动检查,但是我觉得有解决此问题的有效方法。 之后,我想删除所有在第一个位置具有(1,)的元组。对于删除过程,我会尝试使用过滤器。
self.bids = [(1,1),(1,2),(1,3),(2,0),(3,1),(3,2)]
if (1,_) in bids or (2,_) in bids or (3,_) in bids:
possibleModes.remove((1,_))
return possibleModes
答案 0 :(得分:3)
_
只是一个常规变量名,而不是通配符或运算符,尽管习惯上它用来保存无效值。
要检查是否有任何元组以1、2或3为第一项,可以将any
函数与生成器表达式一起使用,并删除以1为第一项的所有元组,可以使用这样的列表理解:
if any(a in (1, 2, 3) for a, _ in self.bids):
return [(a, b) for a, b in self.bids if a != 1]