通过索引访问多个列表元素
根据索引从列表中选择特定元素是编程中的常见操作。在这个问题中,用户寻求一种最佳方法来创建一个新列表,其中包含预定义索引处给定列表中的元素。
用户迭代索引并单独访问每个元素的方法是一个简单的解决方案。然而,还有一些更有效或更简洁的替代方法。
建议的一个替代方法是使用operator.itemgetter 函数。该函数采用一组索引作为参数,并返回一个可调用对象,该对象可应用于列表以检索相应的元素。例如:
from operator import itemgetter a = [-2, 1, 5, 3, 8, 5, 6] b = [1, 2, 5] print(itemgetter(*b)(a)) # Result: (1, 5, 5)
另一种选择涉及使用 NumPy 库。 NumPy 提供强大的数组操作,包括基于索引访问元素的能力。这可以使用 a[b] 语法来实现:
import numpy as np a = np.array([-2, 1, 5, 3, 8, 5, 6]) b = [1, 2, 5] print(list(a[b])) # Result: [1, 5, 5]
值得注意的是,用户当前的解决方案也是有效且合理的。不同方法之间的选择取决于个人喜好和使用这些方法的具体环境。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3