我有一个清单:
[(160, 177), (162, 169), (163, 169), (166, 173), (166, 176), (166, 177), (169, 176), (169, 177)]
我想要这个列表的反转,所以它变为:
[(177, 160), (169, 162), (169, 163), (173, 166), (176, 166), (177, 166), (176, 169), (177, 169)]
我认为你可以做类似list1[:-1]
之类的事情。
答案 0 :(得分:6)
在我看来,明确地反转这些对更清晰:
[(snd, fst) for fst, snd in thelist]
答案 1 :(得分:4)
a=[(160, 177), (162, 169), (163, 169), (166, 173), (166, 176), (166, 177), (169, 176), (169, 177)]
b=[e[::-1] for e in a]
print b
此Bunk中的可运行代码 - http://codebunk.com/bunk#-It1THfMsVDWUQMq8eRT
答案 2 :(得分:1)
您也可以使用map
和reversed
执行此操作,但更喜欢list comprehension based solution
在这种情况下,因为它只需要一个循环而不是map
版本中的2。
In [24]: lis=[(160, 177), (162, 169), (163, 169), (166, 173), (166, 176), (166, 177), (169, 176), (169, 177)]
In [26]: map(tuple,map(reversed,lis)) #use itertools.imap for large lists
Out[26]:
[(177, 160),
(169, 162),
(169, 163),
(173, 166),
(176, 166),
(177, 166),
(176, 169),
(177, 169)]