List python,重建列表

List python,重建列表,list,python-2.7,list-comprehension,List,Python 2.7,List Comprehension,正在尝试重建包含坐标的列表列表 我得到的是 sel = ((0, 0), (0, 1), (1, 1), (1, 0)) sel = [(1 - v[1]) for v in sel] 这就是我想要的每一个集合中的第二个坐标,但我的问题是它返回一个值列表,而不是第二个值被改变的列表 我这样做是因为我使用的两个不同应用的坐标系不同。其中一个0位于路径轴的底部,另一个我试图转换的0也从y轴的顶部开始。现在,列表中的每个元素都是(1-v[1]),这就是您希望第二个值发生的情况。如果希望每个元素都是一

正在尝试重建包含坐标的列表列表

我得到的是

sel = ((0, 0), (0, 1), (1, 1), (1, 0))
sel = [(1 - v[1]) for v in sel]
这就是我想要的每一个集合中的第二个坐标,但我的问题是它返回一个值列表,而不是第二个值被改变的列表


我这样做是因为我使用的两个不同应用的坐标系不同。其中一个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)]