列出Python中的索引

use*_*425 1 python list

我有两个清单a=[10,5,6,8]b=[1,3].我如何使用后者作为前者的下标?即我想提取第二和第四个元素a.

否则,在Matlab我会用

v = [16 5 9 4 2 11 7 14];

v([1 5 6])      % Extract the first, fifth, and sixth elements
>>  ans =
        16   2   11
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中做同样的事情?

Jon*_*nts 7

您可以使用operator.itemgetter来执行此操作:

from operator import itemgetter

a=[10,5,6,8]
b=[1,3]
res = itemgetter(*b)(a)
# (5, 8)
Run Code Online (Sandbox Code Playgroud)


iCo*_*dez 6

你可以像这样使用列表理解:

>>> a = [10, 5, 6, 8]
>>> b = [1, 3]
>>> [a[x] for x in b]
[5, 8]
>>>
Run Code Online (Sandbox Code Playgroud)