Skip to main content
 首页 » 编程设计

列表列表的Python切片

2025年05月04日12jiqing9006

假设我有一个列表列表

    >>> s = [ [1,2], [3,4], [5,6] ] 

我可以访问第二个列表的项目:

    >>> s[1][0] 
    3 
    >>> s[1][1] 
    4 

整个第二个列表为:

    >>> s[1][:] 
    [3, 4] 

但为什么下面的也给我第二个列表?

    >>> s[:][1] 
    [3, 4] 

我认为它会给我三个列表中的第二个项目。

可以使用列表理解来实现这一点(如 question 13380993 ),但我很好奇如何正确理解 s[:][1]。

请您参考如下方法:

s[:] 返回列表的副本。下一个 [...] 适用于前一个表达式返回的任何内容,并且 [1] 仍然是该列表的第二个元素。

如果你想要每隔一个项目,使用列表理解:

[n[1] for n in s] 

演示:

>>> s = [ [1,2], [3,4], [5,6] ] 
>>> [n[1] for n in s] 
[2, 4, 6]