列表python的反转[(160,177),(198,123)]

时间:2013-04-25 18:32:01

标签: python list

我有一个清单:

[(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]之类的事情。

3 个答案:

答案 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)

您也可以使用mapreversed执行此操作,但更喜欢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)]