【发布时间】:2016-02-08 07:34:39
【问题描述】:
我想知道如何在 python 中反转列表列表。例如,
原文:list = [[1,2,3],[4,5,6],[7,8,9]]
输出:new_list = [[7,8,9],[4,5,6],[1,2,3]]
现在,我正在尝试这个:
new_list = reversed(list)
但是,这似乎不起作用。
【问题讨论】:
我想知道如何在 python 中反转列表列表。例如,
原文:list = [[1,2,3],[4,5,6],[7,8,9]]
输出:new_list = [[7,8,9],[4,5,6],[1,2,3]]
现在,我正在尝试这个:
new_list = reversed(list)
但是,这似乎不起作用。
【问题讨论】:
In [24]: L = [[1,2,3],[4,5,6],[7,8,9]]
In [25]: L[::-1]
Out[25]: [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
【讨论】:
reversed 正在懒惰地返回外部列表的反转元素;您需要迭代它返回的值,或者包装在list 构造函数中以将其转换为新的list。或者,您可以通过调用 .reverse() 来反转 lists。 L[::-1] 语法是规范的“以相反顺序返回浅拷贝”方法。
[::-1] 的文档?
start 和 end 参数,它表示使用整组索引和 -1 的 step 参数指示解释器从末尾开始设置?
start 应该是最后一个索引,stop 应该就在第一个索引之前。因此,您的 -1 的 step 从最后一个索引到第一个索引