【发布时间】:2012-02-24 17:42:19
【问题描述】:
有没有更好的方法从 python 中的列表中提取任意索引?
我目前使用的方法是:
a = range(100)
s = [a[i] for i in [5,13,25]]
其中 a 是我要切片的数组,[5,13,25] 是我要获取的元素。它似乎比 Matlab 等价物更冗长:
a = 0:99;
s = a([6,14,26])
【问题讨论】:
-
“它似乎比 Matlab 详细得多”。它们是不同的语言。你期待什么? Python 比 Java更少 冗长。
-
Python 索引是从 0 开始的。您的
5表示第六个元素。基于 1 的语言将在那里有一个6。 Matlab 怎么需要4?它是从 -1 开始的吗? -
这种方式其实可读性很强,我喜欢。