【发布时间】:2022-01-02 22:25:33
【问题描述】:
来自这个问题 Adding the last position of an array to the same array
我很好奇上述循环是否可以在列表理解中完成?
array = [3,4,2,5,4,5,8,7,8,9]
value = 10
for i in range(1,10):
array[i] = array[i-1] + value
我想也许是海象运算符。
我的尝试给了我一个错误,导致cannot-use-assignment-expressions-with-subscript
[array[count] := val if count == 0 else array[count] := array[count-1] + value for count,val in enumerate(array)]
有什么想法吗?
【问题讨论】:
-
列表推导会创建一个 new 列表,因此不清楚您为什么要使用它。
-
是
[3, 13, 23, 33, 43, 53, 63, 73, 83, 93]的代码输出吗?只取决于第一项? -
list(range(array[0], array[0] + len(array) * value, value)) -
Amirreza Noori,据我从 1.linked question 中了解。
-
jonsharp,如前所述,我很好奇。
标签: python list-comprehension walrus-operator