gpt4 book ai didi

python - 接收: "UnboundLocalError: local variable referenced before assignment"

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:36 27 4
gpt4 key购买 nike

我看到多个线程都有同样的问题,但由于问题的独特性,似乎已经根据具体情况提供了解决方案

这是我的代码:

loga = [(912, "Message A1") , (1000, "Message A2") , (988, "Message A3") , (1012, "Message A4") , (1002, "Message A5")]
logb = [(926, "Message B1") , (1008, "Message B2") , (996, "Message B3") , (1019, "Message B4") , (1100, "Message B5")]
logc = [(1056,"Message C1") , (1033, "Message C2") , (999, "Message C3") , (1054, "Message C4") , (1086, "Message C5")]
logs = [loga, logb, logc]
out = []


def find_lowest_i(lst):
for i in range(len(lst)):
log = lst[i]
if log:
t = log[0][0]
if i==0 or t < lowest_t:
lowest_i = i
lowest_t = t
return lowest_i

while True:
i = find_lowest_i(logs)
print "i=", i
tpl = logs[i].pop(0)
print tpl
out.append(tpl)
print out

我的确切错误:

“消息文件名行位置回溯19 find_lowest_i 13
UnboundLocalError:赋值前引用的局部变量“lowest_t””

最佳答案

由于不断poping,其中一个日志(有此数据,即第一个日志)最终将被清空:

logs = [[],
[(1019, 'Message B4'), (1100, 'Message B5')],
[(1056, 'Message C1'), (1033, 'Message C2'), (999, 'Message C3'),
(1054, 'Message C4'), (1086, 'Message C5')]]

在这种情况下,如果 i=0,if log 将失败,并且 lowest_t 未初始化。在下一次迭代中,i=1,有一个 log,但没有 lowest_t。异常(exception)!

关于python - 接收: "UnboundLocalError: local variable referenced before assignment",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147335/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com