我正在填充一个数组,从文件中读取数据:
输入:
2
4
-8
5
-2
代码:
f = [ i.strip() for i in open('file.txt', 'r') ]
a = []
for line in f:
line = line.split()
a.append(float(line[0]))
产生向量 a=[2,4,-8,5,-2] .现在我想用它们的值 +10 替换所有负值,以获得向量 b=[2,4,2,5,8] .不使用循环或 for循环,我该怎么做?我都尝试使用 np.where()函数和 a[a<0] ,但它们不会产生任何结果(如果我创建一个 np.array[2,4,-8,5,-2] ex novo...,它们就会起作用)。提前谢谢你。
请您参考如下方法:
一种不使用 numpy 的方法
a = list(map(lambda x:x+10 if x < 0 else x, a))
