python - 根据索引列表中的索引获取项目列表

标签 python list

我有一个名为a的列表。 我有一个名为 b 的索引列表。

如何将 a 中索引为 b 的所有元素设置为 0?

在其他语言中,我可以执行a[b] = 0,这会返回错误TypeError:列表索引必须是整数或切片,而不是列表,我不是确定完成此操作的有效 Python 方法是什么。

ab 都可能相当大。

#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/

相关文章:

python - 使用图片来映射墙壁

python - 测试单元在 TDD 中的效率

Python pandas 如何使用 lambda 函数在 1 行中转换重复代码

c# - 如何使用多线程处理 C# 中的列表?

c# - 如何找到列表之间的差异?

Numpy 的随机模块无法访问 Python 的随机模块

python - 如何从另一个列表中过滤列表

css - 如何对齐CSS中水平ul菜单中所有选项卡的高度

r - 使用类似于 xpath 的方式访问 R 中列表的元素

python - Python 列表的选择性展平