我有两个清单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中做同样的事情?
您可以使用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)
你可以像这样使用列表理解:
>>> a = [10, 5, 6, 8]
>>> b = [1, 3]
>>> [a[x] for x in b]
[5, 8]
>>>
Run Code Online (Sandbox Code Playgroud)