Ошибка типа: индексы списка должны быть целыми числами или кусочками, а не списком. Что мне делать? - PullRequest
0 голосов
/ 22 апреля 2020

Я получаю сообщение об ошибке «Ошибка типа: индексы списка должны быть целыми или кусочками, а не списком», и я не уверен, как это исправить, что мне нужно изменить?

@app.route("/browse/<where>")
def collectPage(where):
    for item in lostItems:
        if item[1] == where:
            passedItem = lostItems[item]
    return render_template("mainPage.html", collect = Collect, item = passedItem) 

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Похоже, lostItems - это вложенный список. и когда вы используете lostItems[item], вы получаете ошибку. Вы можете изменить свое утверждение на passedItem = item.

@app.route("/browse/<where>")
def collectPage(where):
    for item in lostItems:
        if item[1] == where:
            passedItem = item
    return render_template("mainPage.html", collect = Collect, item = passedItem) 

или использовать enumetrate для доступа к индексу списка.

@app.route("/browse/<where>")
def collectPage(where):
    for indx,item in enumerate(lostItems):
        if item[1] == where:
            passedItem = lostItems[indx]
    return render_template("mainPage.html", collect = Collect, item = passedItem) 
0 голосов
/ 22 апреля 2020

Попробуйте:

def collectPage(where):
    for item in range(len(lostItems)):
        if item[1] == where:
            passedItem = lostItems[item]
    return render_template("mainPage.html", collect = Collect, item = passedItem)

Или

def collectPage(where):
    for item in lostItems:
        if item[1] == where:
            passedItem = item
    return render_template("mainPage.html", collect = Collect, item = passedItem)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...