Python中的列表索引
我有两个列表Python中的列表索引,python,list,Python,List,我有两个列表a=[10,5,6,8]和b=[1,3]。如何使用后者作为前者的下标?即,我想提取a的第二和第四个元素 换言之 如何在Python中实现同样的功能?您可以使用类似的: 您可以使用类似这样的: 你可以这样试试 可以这样解释 for i in l: print v[i] 你可以这样试试 可以这样解释 for i in l: print v[i] 您可以使用来执行此操作: from operator import itemgetter a=[10,5,6,8] b=[
a=[10,5,6,8]
和b=[1,3]
。如何使用后者作为前者的下标?即,我想提取a
的第二和第四个元素
换言之
如何在Python中实现同样的功能?您可以使用类似的:
您可以使用类似这样的:
你可以这样试试
可以这样解释
for i in l:
print v[i]
你可以这样试试
可以这样解释
for i in l:
print v[i]
您可以使用来执行此操作:
from operator import itemgetter
a=[10,5,6,8]
b=[1,3]
res = itemgetter(*b)(a)
# (5, 8)
您可以使用来执行此操作:
from operator import itemgetter
a=[10,5,6,8]
b=[1,3]
res = itemgetter(*b)(a)
# (5, 8)
支持以Matlab风格使用数组以及一系列其他数组和矩阵操作进行索引。考虑使用它进行计算密集型任务:
In [1]: import numpy as np
In [2]: a = np.array([10,5,6,8])
In [3]: b = np.array([1,3])
In [4]: a[b]
Out[4]: array([5, 8])
支持以Matlab风格使用数组以及一系列其他数组和矩阵操作进行索引。考虑使用它进行计算密集型任务:
In [1]: import numpy as np
In [2]: a = np.array([10,5,6,8])
In [3]: b = np.array([1,3])
In [4]: a[b]
Out[4]: array([5, 8])
如果您来自Matlab,您会使用这些列表进行类似Matlab的数组操作吗?请注意,python中的数组索引从0开始。看看@shahkalpesh,我想他们理解这一点,因为
[1,3]
对应于我想提取第二个和第四个的解释element@JonClements:我的评论基于以下问题:在matlab中,v[1,5,6]返回16,2,11。在python中,它将返回5、11、7如果您来自Matlab,您是否将这些列表用于类似Matlab的数组操作?请注意,python中的数组索引从0开始。看看@shahkalpesh,我认为他们理解这一点,因为[1,3]
对应于我想提取第二个和第四个的解释element@JonClements:我的评论基于以下问题:在matlab中,v[1,5,6]返回16,2,11。在python中,它将返回5、11、7,虽然答案很有帮助,但numpy不是标准模块的一部分。因此,它将下载一些OP要求的功能。@shahkalpesh可以假设,如果OP来自matlab,OP将需要或已经安装了numpy/scipy/pandas等。@JonClements:我没有这样的背景来进行假设。列表理解是内置的,所以很简单。虽然答案很有帮助,但numpy并不是标准模块的一部分。因此,它将下载一些OP要求的功能。@shahkalpesh可以假设,如果OP来自matlab,OP将需要或已经安装了numpy/scipy/pandas等。@JonClements:我没有这样的背景来进行假设。列表理解是内置的,因此它是直截了当的。
In [1]: import numpy as np
In [2]: a = np.array([10,5,6,8])
In [3]: b = np.array([1,3])
In [4]: a[b]
Out[4]: array([5, 8])