Skip to main content
 首页 » 编程设计

python:替换从文件读取的数组中的负值

2025年05月04日10webabcd

我正在填充一个数组,从文件中读取数据:

输入:

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))