我有一个名为a
的列表。
我有一个名为 b
的索引列表。
如何将 a
中索引为 b
的所有元素设置为 0?
在其他语言中,我可以执行a[b] = 0
,这会返回错误TypeError:列表索引必须是整数或切片,而不是列表
,我不是确定完成此操作的有效 Python 方法是什么。
a
和 b
都可能相当大。
#we are given this:
a = [2,4,6,8,10,12,14,16,18,20]#some list
b = [2,3,6,9]#some set of indices
#we aim to get this:
c = [6,8,14,20]
编辑以提供示例代码。
最佳答案
我是根据一些评论来回答这个问题的,因为当时由于我不清楚并且没有提供示例而被锁定。
我们可以通过使用列表理解来根据需要获取c
:
#Solution 1, use list comprehension
c = [a[i] for i in b]
print(c)
或numpy:
#Solution 2, convert to numpy
a = np.array(a)
c = a[b]
print(c.tolist())
关于python - 根据索引列表中的索引获取项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69917939/