在 Python 中通过索引查找列表元素
pythonserver side programmingprogramming更新于 2025/11/23 20:28:17
考虑两个列表。第二个列表中的元素是数字,需要将其视为第一个列表元素的索引位置。对于这种情况,我们有以下 Python 程序。
使用 map 和 getitem
我们可以使用 getitem 魔术方法来访问列表项。我们可以将它与 map 函数一起使用,这样我们就可以从第一个列表中获得结果,该列表将第二个列表中的元素作为其索引。
示例
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
listB = [0, 1,3]
print("Given list A:",listA)
print("Given list B:",listB)
res=list(map(listA.__getitem__, listB))
print("Result :",res)
输出
运行上述代码得到以下结果 −
Given list A: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] Given list B: [0, 1, 3] Result : ['Mon', 'Tue', 'Thu']
使用 itemgetter
operator 模块提供了可用于此目的的 itemgetter 方法。在下面的程序中,我们将第二个列表扩展为索引,并应用 itemgetter 函数从列表中获取相应的元素。
示例
from operator import itemgetter
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
listB = [0, 1,3]
print("Given list A:",listA)
print("Given list B:",listB)
res=list((itemgetter(*listB)(listA)))
print("Result :",res)
输出
运行上述代码得到以下结果 −
Given list A: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] Given list B: [0, 1, 3] Result : ['Mon', 'Tue', 'Thu']
使用 numpy
numpy 库只需创建一个以两个列表为输入参数的数组即可实现此目的。结果再次转换为列表。
示例
import numpy as np
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
listB = [0, 1,3]
print("Given list A:",listA)
print("Given list B:",listB)
res=list(np.array(listA)[listB])
print("Result :",res)
输出
运行上述代码得到以下结果 −
Given list A: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] Given list B: [0, 1, 3] Result : ['Mon', 'Tue', 'Thu']
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

