试图重建包含坐标的列表列表。
我得到的是
sel = ((0, 0), (0, 1), (1, 1), (1, 0))
sel = [(1 - v[1]) for v in sel]
这是我想要对每组中的第二个坐标执行的操作,但我的问题是它作为值列表返回,而不是第二个值已更改的列表列表。
我这样做是因为我使用的 2 个不同应用程序的坐标系不同。一个 0 位于路轴的底部,而另一个我试图转换的 0 从 y 轴的顶部开始。
试图重建包含坐标的列表列表。
我得到的是
sel = ((0, 0), (0, 1), (1, 1), (1, 0))
sel = [(1 - v[1]) for v in sel]
这是我想要对每组中的第二个坐标执行的操作,但我的问题是它作为值列表返回,而不是第二个值已更改的列表列表。
我这样做是因为我使用的 2 个不同应用程序的坐标系不同。一个 0 位于路轴的底部,而另一个我试图转换的 0 从 y 轴的顶部开始。
现在,列表理解中的每个元素都是(1-v[1])
,这是您希望对第二个值发生的情况。如果您希望每个元素成为一个元组,其中元组中的第一项与以前相同,但第二项已更改,您可以这样做:
>>> sel = ((0, 0), (0, 1), (1, 1), (1, 0))
>>> sel = [(v[0], 1 - v[1]) for v in sel]
>>> sel
[(0, 1), (0, 0), (1, 0), (1, 1)]
您还可以避免使用索引,这有时可以使代码更清晰(这里大致相同):
>>> sel = [(x, 1-y) for x,y in sel]
>>> sel
[(0, 1), (0, 0), (1, 0), (1, 1)]