目前我正在試圖遍歷三個列表在同一時間:遍歷三個列表同步:嵌套循環不工作
list_weight = [0.9,0.3,0.6,0.4]
list_reliability = [0.8,0.5,0.2,0.8]
belief_CRED0 = [create_belief_matrix ('ACBA').iloc[0]]
belief_CRED0
Out[40]:
[1 0.562500
2 0.562500
3 0.391304
4 0.391304
Name: CRED0, dtype: float64]
首先,我創建了一個嵌套的循環:
for belief in belief_CRED0:
for weight in list_weight:
for reliability in list_reliability:
m = [(1/(1+weight-reliability))*(weight*belief)]
print(m)
但結果完全關閉。所以,我想這樣做,而不是:
for belief, weight, reliability in zip(belief_CRED0, list_weight, list_reliability):
m = [(1/(1+weight-reliability))*(weight*belief)]
print(m)
但結果是錯誤的,以及:
m
Out[42]:
[1 0.460227
2 0.460227
3 0.320158
4 0.320158
Name: CRED0, dtype: float64]
從什麼出來,似乎環路僅使用從相應的列表中的第一權重和可靠性(重量= 0.9,可靠性= 0.8)。
正確的輸出應該是:
[1 0.460227
2 0.210937
3 0.16770171
4 0.26086933
我該怎麼辦?
有點難以回答不知道什麼'[ create_belief_matrix('ACBA')。iloc [0]]'在做。 – MSeifert
你的輸出總是隻是最後一個'm'集合。正確的答案可能在循環的不同部分。 –
在zip的for循環中有一個錯誤...你說'm = [...]'...你應該開始'm'作爲一個空列表......並且'm.append( (1/...))'。這個嵌套循環完全是錯誤的。 – motjuste