Python 如何替换列表中的值
我在遍历一个列表并应用一个算法将该列表中的某些值更改为新值时遇到问题。这是我当前的代码。我不断从多个方面出错,我试图替换这些值Python 如何替换列表中的值,python,Python,我在遍历一个列表并应用一个算法将该列表中的某些值更改为新值时遇到问题。这是我当前的代码。我不断从多个方面出错,我试图替换这些值 array=[0,1,2,34,44,55,343,22,11,66,44,33] for x in array: if x==0: y='Nan' array.replace(x,y) if x==1: y=0 array.replace(x,y) if x==2:
array=[0,1,2,34,44,55,343,22,11,66,44,33]
for x in array:
if x==0:
y='Nan'
array.replace(x,y)
if x==1:
y=0
array.replace(x,y)
if x==2:
y=1
array.replace(x,y)
if x >= 3 and x < 23:
y=(x-2)*50
array.replace(x,y)
if x >=23 and x <63:
y=(x-12)*100
array.replace(x,y)
if x == 63:
y=5500
array.replace(x,y)
if x >= 64 and x <= 67:
y=(x-58)*1000
array.replace(x,y)
if x >= 68:
y = 10000
array.replace(x,y)
print(array)
array=[0,1,2,34,44,55343,22,11,66,44,33]
对于阵列中的x:
如果x==0:
y='Nan'
数组。替换(x,y)
如果x==1:
y=0
数组。替换(x,y)
如果x==2:
y=1
数组。替换(x,y)
如果x>=3且x<23:
y=(x-2)*50
数组。替换(x,y)
如果x>=23且x=64且x=68:
y=10000
数组。替换(x,y)
打印(数组)
您可以通过执行以下操作替换列表中的给定元素:
list[index]=新的\u值
所以
array[array.index(x)]=y#array.index(x)将给出x在数组中的位置
总而言之,我会:
array=[0,1,2,34,44,55343,22,11,66,44,33]
对于枚举(数组)中的i,x:#使用直接i值而不是array.index(x)
y=无
如果x==0:
y='NaN'
elif x==1:
y=0
elif x==2:
y=1
如果x>=3且x<23:
y=(x-2)*50
如果x>=23,x=64,x=68:
y=10000
如果y不是无:
数组[i]=y
打印(数组)
我得到了属性错误:模块“pandas”没有属性“arr”
。您希望pd.arr做什么?请提供一份声明。@wjandrea删除了该部分。我只需要用if语句sok中的新值替换数组中的值,现在我得到的是AttributeError:'list'对象没有属性“replace”
。有关工作解决方案,请参阅。