【发布时间】:2013-12-16 14:39:11
【问题描述】:
我的标题可能令人难以置信的混乱,所以我只举一个例子。对于以下列表:
x = [ [1,2,3], [4,5,6], [7,8,9] ]
因此,如果您希望索引为 1,则结果列表将是:
[2,5,8]
有没有捷径可以做到这一点?显然,您可以遍历外部列表并简单地获取索引 1 的每个元素,但是有没有简单的方法可以在一行中执行此操作,例如 slce 表示法?
我知道可以通过以下方式在一行中执行此操作:
list(map(lambda f : f[1], x))
但这正是我上面描述的(只是使用隐式循环)。
如果有帮助,可以假设所有元素都是可索引的。
【问题讨论】:
-
你知道即使在切片中也有一个隐式循环:)
-
那么为什么您想在没有(隐式或显式)循环的情况下执行此操作?那怎么可能呢?机器必须在某一点或另一点迭代序列才能做到这一点。
-
我没有说我想这样做。就像我说的那样——“有办法吗”。我很好奇,所以我问了。
标签: python list indexing slice sublist