我的问题的一个简化版本:帮助与Python列表理解
我有一个列表理解,我使用二维列表等设置bitflags:
s = FLAG1 | FLAG2 | FLAG3
[[c.set_state(s) for c in row] for row in self.__map]
所有set_state所做的是:
self.state |= f
这工作正常,但我必须在__map中的每个单元格中具有此函数“set_state”。在__map每个单元都有一个.STATE所以我想要做的是一样的东西:
[[c.state |= s for c in row] for row in self.map]
或
map(lambda c: c.state |= s, [c for c in row for row in self.__map])
只是既不工作(语法错误)。也许我正在用map/lamda吠叫错误的树,但是我想摆脱set_state。也许知道为什么赋值不能在列表中理解