所以,如果我如图所示:
x_train = []
y_train = []
x_test = []
y_test = []
for filename in os.listdir('/directory'):
x_train[os.listdir('/directory').index(filename)], y_train[os.listdir('/directory').index(filename)], x_test[os.listdir('/directory').index(filename)], y_test[os.listdir('/directory').index(filename)] = lstm.format_data(new, seq_len, True)
函数 format_data() 将为每个 y_train、x_train 等提供多个索引,我想在训练模型时再次循环遍历这些项目。我用它作为编写大量内容的快捷方式:
x_train#, y_train#, x_test#, y_test# = lstm.format_data(.....)
这是我收到的错误消息。
IndexError: list assignment index out of range
我不知道最简单的方法是什么,我相信你们很多人都知道,所以我感谢我能得到的所有帮助! 谢谢
最佳答案
您收到错误的原因是您尝试为列表提供索引值,而不是为它们分配列表中的位置。
x_train = []
x_train[0] = 'BOB'
输出
IndexError: list assignment index out of range
它不起作用,因为列表没有定义第 0 个位置。如果你这样做了:
x_train = []
x_train.append('BOB')
x_train[0] = 'Mary'
print(x_train)
输出:
['Mary']
然后您可以为列表中的第 0 个位置分配一个值,因为它存在。
如果您正在寻找的话,这是可行的:
x_train = [None] * 10
x_train[3] = 'Mary'
print(x_train)
输出:
[None, None, None, 'Mary', None, None, None, None, None, None]
关于python - 如何循环设置不同的变量到函数的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50360760/