如何在python中连续向另一个列表添加列表

如何在python中连续向另一个列表添加列表,python,matplotlib,Python,Matplotlib,我知道如何在python中相互添加数组,但我对如何连续扩展数组感到困惑 #import numpy as np import matplotlib.pyplot as plt import xlrd path = r"C:\Users\berro\Documents\Sample Excel and CSV Files\shoesize.xls" book = xlrd.open_workbook(path) #print(book.nsheets) #print(book.sheet_na

我知道如何在python中相互添加数组,但我对如何连续扩展数组感到困惑

#import numpy as np
import matplotlib.pyplot as plt
import xlrd

path = r"C:\Users\berro\Documents\Sample Excel and CSV Files\shoesize.xls"

book = xlrd.open_workbook(path)
#print(book.nsheets)
#print(book.sheet_names())

sheet = book.sheet_by_index(0)

print(sheet.row_values(1,2,4))


for x in range (1,11):
    trainX = [sheet.row_values(x,2,4)]
    trainX.extend([sheet.row_values(x+1,2,4)])

print(trainX)


trainX.append(sheet.row_values(2, 2, 4))
trainX.append(sheet.row_values(4,2,4))
trainX.append(sheet.row_values(5,2,4))
trainX.append(sheet.row_values(6,2,4))
trainX.append(sheet.row_values(7,2,4))
trainX.append(sheet.row_values(8,2,4))
trainX.append(sheet.row_values(9,2,4))
print(trainX)




#shoe size, height
features = [[sheet.row_values(1,2,4),sheet.row_values(2,2,4)]]
我对Python有些陌生,但是我很难找到一种可迭代的方法来将trainX数组扩展到我想要的长度

for x in range (1,11):
    trainX = [sheet.row_values(x,2,4)]
    trainX.extend([sheet.row_values(x+1,2,4)])
这会在每次迭代中覆盖
trainX
,因此最终只有两个元素。因此,您需要在循环外部创建
trainX
,然后继续添加到它

请注意,如果只是在每次迭代中添加单个元素,则不需要进行扩展。您可以保留
追加
,然后:

# create an empty list first
trainX = []

# start at index 1, end at index 9 (inclusive; or exclusive 10)
for x in range (1, 10):
    trainX.append(sheet.row_values(x, 2, 4))
这会在每次迭代中覆盖
trainX
,因此最终只有两个元素。因此,您需要在循环外部创建
trainX
,然后继续添加到它

请注意,如果只是在每次迭代中添加单个元素,则不需要进行扩展。您可以保留
追加
,然后:

# create an empty list first
trainX = []

# start at index 1, end at index 9 (inclusive; or exclusive 10)
for x in range (1, 10):
    trainX.append(sheet.row_values(x, 2, 4))

使用列表综合:trainX=[范围(1,10)内x的sheet.row_值(x,2,4)]非常感谢。这确实奏效了!我花了很长时间试图解决这个问题,结果却被明显的答案蒙蔽了双眼。使用列表综合:trainX=[sheet.row_值(x,2,4)表示范围(1,10)内的x]非常感谢。这确实奏效了!我花了这么长时间试图解决这个问题,结果却被显而易见的答案蒙蔽了双眼。