Почему все элементы этого массива, запрограммированные на python, содержат одну и ту же строку? - PullRequest
0 голосов
/ 16 сентября 2018

Может кто-нибудь помочь мне с моей проблемой, пожалуйста? Почему все элементы этого массива содержат одинаковую строку? Приведенный ниже фрагмент кода выводит следующий результат: Когда вы введете одну строку, она напечатает это:

[ 'ГЭБ']

Когда вы введете другую строку, она напечатает это:

['SSS', 'SSS']

Когда вы введете другую строку, она напечатает это:

['nnn', 'nnn', 'nnn']

и так далее. Он продолжает перезаписывать предыдущий строковый элемент и заменять его новым. Вот мой код ниже:

global currentpage

currentpage += 1
for row in rows:
    #print(row)

    STORING_info = []
    dataINdatabase = ''.join(row)
    while len(STORING_info) < currentpage:
        STORING_info.append(dataINdatabase)
    print(STORING_info)

В теории это должно быть больше так:

['bbb', 'SSS', 'nnn']

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 16 сентября 2018

Может двигаться

STORING_info = [] 

из цикла. Также проверьте

while len(STORING_info) < currentpage:
    STORING_info.append(dataINdatabase)

, который просто повторяет первый элемент для длины текущей страницы.

Вам нужно объяснить, что вы хотите сделать с текущей страницей, без него список заполняется, как и ожидалось.

global currentpage

currentpage += 1
STORING_info = []
for row in rows:
    dataINdatabase = ''.join(row)
    STORING_info.append(dataINdatabase)

print(STORING_info)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...