【发布时间】:2022-01-09 22:42:08
【问题描述】:
下面的 Vals 列表推导修改了 Values 以便对于第 n 行它索引数组值。我如何能够在 Vals 列表理解中添加一个增量,它在所有修改后的列表前面添加 100?我只想修改列表理解函数来做到这一点。
import numpy as np
first_index_val = 100
Values = np.array([[130,123,135.3,139.05,156.08,163.88,173.72],
[130,123,135.3,139.05,156.08,163.88,173.72],
[130,123,135.3,139.05,156.08,163.88,173.72],
[130,123,135.3,139.05,156.08,163.88,173.72],
[130,123,135.3,139.05,156.08,163.88,173.72],
[130,123,135.3,139.05,156.08,163.88,173.72],
[130,123,135.3,139.05,156.08,163.88,173.72]])
Vals = np.array([arr[i:] for i,arr in enumerate(Values.tolist())])
输出:
[list([130.0, 123.0, 135.3, 139.05, 156.08, 163.88, 173.72])
list([123.0, 135.3, 139.05, 156.08, 163.88, 173.72])
list([135.3, 139.05, 156.08, 163.88, 173.72])
list([139.05, 156.08, 163.88, 173.72]) list([156.08, 163.88, 173.72])
list([163.88, 173.72]) list([173.72])]
预期输出:
[list([100, 130.0, 123.0, 135.3, 139.05, 156.08, 163.88, 173.72])
list([100, 123.0, 135.3, 139.05, 156.08, 163.88, 173.72])
list([100, 135.3, 139.05, 156.08, 163.88, 173.72])
list([100, 139.05, 156.08, 163.88, 173.72]) list([100, 156.08, 163.88, 173.72])
list([100, 163.88, 173.72]) list([100, 173.72])]
【问题讨论】:
-
在列表理解中使用
[100] + arr[i:]`
标签: python arrays list numpy list-comprehension