目前我正在试图遍历三个列表在同一时间:遍历三个列表同步:嵌套循环不工作
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