私はPythonに比較的慣れていないので、基本的に困難に直面しています。ループ内で適切なリスト値を出力する次のコードがありますが、ループ外では最後の値のみが表示されます。
for item in statusEntries:
theNameStatus = item[3] #get the numStatus field data
if theNameStatus == 1:
numStatus1 = item[2] #get cntStatus
elif theNameStatus == 2:
if numStatus1 > 0:
theNameStatus = "closed"
sctStatus["nameStatus"] = theNameStatus
sctStatus["IDstatus"] = item[0]
sctStatus["cntStatus"] = item[2]
#Appending Status Array with Status Attribute Object
sctResponse["STATUSOPTION"].append(sctStatus)
ループ内でsctResponse ["STATUSOPTION"]を出力すると、各反復で適切な値が表示されますが、最後の反復に達すると、最後のループ値で埋められます。
{'STATUSOPTION': [{'nameStatus': 1, 'cntStatus': 0, 'IDstatus': 6}]}
{'STATUSOPTION': [{'nameStatus': 2, 'cntStatus': 0, 'IDstatus': 1}, {'nameStatus': 2, 'cntStatus': 0, 'IDstatus': 1}]}
{'STATUSOPTION': [{'nameStatus': 3, 'cntStatus': 0, 'IDstatus': 7}, {'nameStatus': 3, 'cntStatus': 0, 'IDstatus': 7}, {'nameStatus': 3, 'cntStatus': 0, 'IDstatus': 7}]}
{'STATUSOPTION': [{'nameStatus': 4, 'cntStatus': 0, 'IDstatus': 4}, {'nameStatus': 4, 'cntStatus': 0, 'IDstatus': 4}, {'nameStatus': 4, 'cntStatus': 0, 'IDstatus': 4}, {'nameStatus': 4, 'cntStatus': 0, 'IDstatus': 4}]}
{'STATUSOPTION':[{'nameStatus':5、'cntStatus':0、'IDstatus':5}、{'nameStatus':5、'cntStatus':0、'IDstatus':5}、{'nameStatus' :5、'cntStatus':0、'IDstatus':5}、{'nameStatus':5、'cntStatus':0、'IDstatus':5}、{'nameStatus':5、'cntStatus':0、 ' IDstatus':5}]}
最後の太字のレコードを見るとわかるように、すべての値が消去され、最後のレコードで埋められました。なぜそれが起こっているのですか?追加は、それを一掃するのではなく、追加する必要があります、いいえ?