【发布时间】:2015-02-22 21:35:35
【问题描述】:
我有一个如下所示的元组:
(((1, 1), False), ((1, top), False), ((right, 1), False), ((right, top), False))
所以元组中有 4 个元组,每个元组存储一个坐标(另一个元组)和一个布尔值。
(我不使用 dict 或 list,因为我需要它是可散列的)
对于给定的坐标,是否有一种聪明的方法可以将 bool 更改为 true?
所以我想在一个班轮中表达的是:
在状态集 pair[1] 为 True where pair[0] = (givenX, givenY)
在 python 中有没有聪明的方法来做到这一点?
更新:
感谢您的所有回答。这是我最后所做的:
state = dict(state)
if (givenX, givenY) in state.keys():
state[(givenX, givenY)] = True
state = tuple(state.items())
【问题讨论】:
-
In state set pair[1] to True where pair[0] = (givenX, givenY)是什么意思? -
@AvinashRaj 这对我来说听起来很清楚。如果索引 0 (
pair[0]) 处的值是(givenX, givenY),则将索引 1 (pair[1]) 处的元组值设置为True -
@MarkusMeskanen,谢谢
-
您可能想查看lenses library。