根据已知索引从列表中检索多个元素
要从知道索引的列表中提取特定元素,您可以使用以下方法方法:
1.列表理解:
正如您已经演示的,列表理解提供了一种根据索引提取元素的简洁方法:
a = [-2, 1, 5, 3, 8, 5, 6] b = [1, 2, 5] c = [a[i] for i in b]
2。 operator.itemgetter:
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)
3. Numpy(如果可用):
如果您安装了 Numpy,则可以利用其数组索引功能:
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]
虽然所有三种方法都可以完成任务,但列表理解方法通常被认为是最具可读性和简洁性的。但是,如果您重视速度或效率,itemgetter 或 Numpy 可能会提供更好的性能。
以上是如何根据已知索引从列表中提取元素?的详细内容。更多信息请关注PHP中文网其他相关文章!