アデルMoustafa:
私のpythonに新しいですし、私は状況に応じて、リストの一部を更新機能を構築したいです。
ここで私が何をしたいの例です。
List1=[1,2,3,4,10,5,9,3,4]
List2=[2,4,6,8]
私は更新したいList1
ことを[2,4,6,8,10,5,9,6,8]
、ここでそれを行うには、私のコードは次のとおりです。
x = [1, 2, 3, 4, 10, 5, 9, 3, 4]
y = [2, 4, 6, 8]
def update_signal(gain):
for i in range(0, len(y)):
for j in range(0, len(x)):
if x[j] == y[i] / gain:
x[j] = y[i]
elif x[j - 1] == y[i] / gain:
break
update_signal(2) # for this example only gain =2
print("x=", x)
print("y=", y)
予想される出力は次のようになります。
x=[2,4,6,8,10,5,9,6,8]
y=[2,4,6,8]
何それは実際に印刷さは次のとおりです。
x= [8, 8, 6, 8, 10, 5, 9, 6, 8]
y= [2, 4, 6, 8]
そう、私はこのように、この機能の振る舞いをするために間違って何をやっていますか?
アレクサンダーLekontsev:
たぶん、このような何か?
def update_signal(gain):
return [item * gain if item * gain in y else item for item in x]