假设我有一个列表列表
>>> 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]
