Цикл Python работает в диапазоне - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь добавить 50000 массивов фотографий в список. Тем не менее, это выходит за пределы 50000. У меня петля не в том месте?

Код ниже:

X = []
y = []


for i in range(50000):
    n = 0
    for features, label in training_data:
        X.append(features)
        y.append(label)
        n += 1
        print(n)

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Избавьтесь от внешней for петли.Вы запускаете 50000 ^ 2 раза, потому что вы вложили циклы.Первый цикл говорит программе запускаться 50000 раз, но как только вы входите во второй цикл, он проходит через весь массив numpy, добавляет все, а затем увеличивает i на единицу и снова добавляет все.Итак, с помощью этого кода вы фактически добавите каждый элемент в вашем массиве в новый список 50000 раз.

0 голосов
/ 10 июня 2019

Я верю, что это то, что вы ищете:

X = []
y = []

for features, label in training_data[:50000]:
    X.append(features)
    y.append(label)

Это займет первые 50000 элементов training_data и добавит их features и label s к X и y соответственно.

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