我的問題的一個簡化版本:幫助與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。也許知道爲什麼賦值不能在列表中理解