【问题标题】:How to reverse a list of lists in python? [duplicate]如何反转python中的列表列表? [复制]
【发布时间】: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 reverse


    【解决方案1】:
    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] 的文档?
    • @oldboy:您对就地的理解是正确的。另外,这里是the docs on slicing
    • 谢谢!让我看看我是否理解正确:由于省略了 startend 参数,它表示使用整组索引和 -1step 参数指示解释器从末尾开始设置?
    • @oldboy:是的。此外,在这种情况下,python 足够聪明,知道start 应该是最后一个索引,stop 应该就在第一个索引之前。因此,您的 -1 的 step 从最后一个索引到第一个索引
    猜你喜欢
    • 2020-12-05
    • 2022-08-04
    • 1970-01-01
    • 2016-01-18
    • 2013-12-15
    • 2021-05-24
    • 2017-12-31
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多