1

假设我在 python 中有以下列表:

x = [1,2,3,4,5,6,7,8,9,10]

我想将值 0 分配给列表中的特定位置,例如位置 0、7 和 9。我可以在 python 中执行以下操作而不使用循环吗?

x[0,7,9] = 0
4

1 回答 1

7

你去:

x[0] = x[7] = x[9] = 0

您也可以numpy以更通用和灵活的方式对数组执行此操作:

>>> import numpy as np
>>> x = np.array([1,2,3,4,5,6,7,8,9,10])
>>> indices = [0,7,9]
>>> x[indices] = 0  # or just x[[0,7,9]] = 0
>>> x
array([0, 2, 3, 4, 5, 6, 7, 0, 9, 0])

但这可能不是您想要的,因为 numpy 是一个稍微高级一点的东西。

于 2013-05-30T21:32:21.780 回答