【发布时间】:2016-01-25 00:38:00
【问题描述】:
@app.route('/')
def index():
tpopDloads = popDloads
tpopShipped = popShipped
locPopDload = []
locPopShipped = []
popDinfo = []
popSinfo = []
popDloadsOrd = sorted(tpopDloads, reverse=True)
popShippedOrd = sorted(tpopShipped, reverse=True)
for i in range(3):
locPopDload.append(tpopDloads.index(popDloadsOrd[i]))
popDinfo.append(dProducts[locPopDload[i]])
tpopDloads[tpopDloads.index(popDloadsOrd[i])] = -1 #Problem line#
for i in range(3):
locPopShipped.append(tpopShipped.index(popShippedOrd[i]))
popSinfo.append(sProducts[locPopShipped[i]])
tpopShipped[tpopShipped.index(popDloadsOrd[i])] = -1
return render_template('index.html', popDinfo=popDinfo, popSinfo=popSinfo)
我得到的错误是:
File "/var/lib/openshift/5697165a0c1e66eb870000fb/app-root/runtime /repo/flaskapp.py", line 47, in index
tpopShipped[tpopShipped.index(popDloadsOrd[i])] = -1
ValueError: 0 is not in list
这使用了两个变量,即 popDloads 和 popShipped,它们都是包含一组整数的列表。我不明白为什么它不起作用,因为它试图在列表排序后查找数字的实际索引。它也适用于数字全为零的情况,只有在我更改另一段代码中的数字后才会遇到问题。
【问题讨论】:
-
您的问题行不在您指出的位置:错误显示
tpopShipped...,在您评论的行下方几行。请更仔细地阅读,并且(可能)更仔细地复制粘贴。您可能希望将 actual 错误行中的popDloadsOrd[i]更改为popShippedOrd[i]。
标签: python-3.x flask