Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的列表索引_Python_List - Fatal编程技术网

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])