【发布时间】:2013-04-23 08:56:47
【问题描述】:
在Matlab中,你可以给同一个列表的多个切片赋值:
>> a = 1:10
a =
1 2 3 4 5 6 7 8 9 10
>> a([1:3,7:9]) = 10
a =
10 10 10 4 5 6 10 10 10 10
如何在 Python 中使用 numpy 数组做到这一点?
>>> a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> a[1:3,7:9] = 10
IndexError: too many indices
【问题讨论】:
-
您有什么理由希望在一个语句中而不是在两个语句中执行它?
-
@SukritKalra 我不能代表问题作者发言,但一个例子是当一个人试图从这样一个多片中形成一个列表理解时(这就是我想要做的,也是我到达的原因这个问题)
标签: python arrays matlab numpy slice