说我有一个列表列表
>>> s = [ [1,2], [3,4], [5,6] ]
Run Code Online (Sandbox Code Playgroud)
我可以访问第二个列表的项目:
>>> s[1][0]
3
>>> s[1][1]
4
Run Code Online (Sandbox Code Playgroud)
整个第二个列表为:
>>> s[1][:]
[3, 4]
Run Code Online (Sandbox Code Playgroud)
但是为什么以下内容也给了我第二个列表?
>>> s[:][1]
[3, 4]
Run Code Online (Sandbox Code Playgroud)
我认为它会给我从三个列表中的每一个中的第二个项目。
可以使用列表理解来实现这一点(如问题 13380993 中所述),但我很好奇如何正确理解s[:][1].
s[:]返回列表的副本。next[...]适用于前一个表达式返回的任何内容,并且[1]仍然是该列表的第二个元素。
如果您想要每隔一个项目,请使用列表理解:
[n[1] for n in s]
Run Code Online (Sandbox Code Playgroud)
演示:
>>> s = [ [1,2], [3,4], [5,6] ]
>>> [n[1] for n in s]
[2, 4, 6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |