我有一个由多个子列表组成的列表:
list_1 = [[x1,y1,z1], [x2,y2,z2], [x3,y3,z3], [x4,y4,z4]]
如何反转子列表的位置,使其看起来像:
list_2 = [[x4,y4,z4], [x3,y3,z3], [x2,y2,z2], [x1,y1,z1]]
无需使用for
循环。
我已经尝试了sorted(list_1, reverse=True)
但显然根据其中的值有多大来定位子列表。
答案 0 :(得分:8)
使用reversed
:
>>> list_1 = [[1,2,3], [4,5,6], [0,1,2], [6,5,3]]
>>> list(reversed(list_1))
[[6, 5, 3], [0, 1, 2], [4, 5, 6], [1, 2, 3]]
或[::-1]
:
>>> list_1[::-1]
[[6, 5, 3], [0, 1, 2], [4, 5, 6], [1, 2, 3]]
或复制list_1
,然后复制reverse
:
>>> list_2 = list(list_1) # copy
>>> list_2.reverse()
>>> list_2
[[6, 5, 3], [0, 1, 2], [4, 5, 6], [1, 2, 3]]
注意:reversed
,[::-1]
返回列表的反向迭代器/反向副本,而list.reverse
就地修改列表并且不返回列表。