在 Python 中进行双循环时将第一个循环追加和第二个循环追加分开
Separate the first loop append and the second loop append while doing double loop in Python
现在我正在尝试用双循环制作二维数组。
在我的代码中:
for t in range(0,150):
for z in range(0,279):
QC1 = QC[t,z,:,:]
SUMQ =1000*np.mean(QC1)
QRAIN1.append(SUMQ)
print len(QRAIN1)
QRAIN.append(QRAIN1)
QR = np.array(QRAIN)
我想制作 150X279 数组,但结果不是,因为我认为在第一个循环的每一次 运行 中,结果都附加在 QRAIN1 中。
我想将 259 个数字列表的每个循环 运行 分开,并将它们累加到 QRAIN 中,得到 150x279 数组。
任何帮助或想法将不胜感激。
谢谢,
艾萨克
每次循环只创建一个新的空列表:
for t in range(0,150):
QRAIN1 = []
for z in range(0,279):
QC1 = QC[t,z,:,:]
SUMQ =1000*np.mean(QC1)
QRAIN1.append(SUMQ)
print len(QRAIN1)
QRAIN.append(QRAIN1)
QR = np.array(QRAIN)
顺便说一句,每当您发现自己从一个空列表开始,然后在 for
循环中附加到它时,请考虑 列表理解 的时尚替代方案:
for t in range(150):
QRAIN1 = [1000*np.mean(QC[t,z,:,:]) for z in range(279)]
print len(QRAIN1)
QRAIN.append(QRAIN1)
QR = np.array(QRAIN)
我还删除了 range
调用中多余的 0,
-- 同样只是风格问题,但我喜欢 Tufte 的原则,"no wasted pixels":-)
当然,您也可以使用 嵌套 列表理解来构建所有 QRAIN
,但我知道这开始有点牵强,而且 "middle way" 内部的 listcomp,外部的 for
循环,可能被认为更具可读性。无论如何,以防万一你想试试...:[=19=]
QRAIN = [ [1000*np.mean(QC[t,z,:,:]) for z in range(279)]
for t in range(150) ]
QR = np.array(QRAIN)
这个没有 print
s 但我怀疑你只是将它们用作调试辅助工具,所以它们的丢失应该不是一个大问题,我希望:-).
现在我正在尝试用双循环制作二维数组。
在我的代码中:
for t in range(0,150):
for z in range(0,279):
QC1 = QC[t,z,:,:]
SUMQ =1000*np.mean(QC1)
QRAIN1.append(SUMQ)
print len(QRAIN1)
QRAIN.append(QRAIN1)
QR = np.array(QRAIN)
我想制作 150X279 数组,但结果不是,因为我认为在第一个循环的每一次 运行 中,结果都附加在 QRAIN1 中。
我想将 259 个数字列表的每个循环 运行 分开,并将它们累加到 QRAIN 中,得到 150x279 数组。
任何帮助或想法将不胜感激。
谢谢,
艾萨克
每次循环只创建一个新的空列表:
for t in range(0,150):
QRAIN1 = []
for z in range(0,279):
QC1 = QC[t,z,:,:]
SUMQ =1000*np.mean(QC1)
QRAIN1.append(SUMQ)
print len(QRAIN1)
QRAIN.append(QRAIN1)
QR = np.array(QRAIN)
顺便说一句,每当您发现自己从一个空列表开始,然后在 for
循环中附加到它时,请考虑 列表理解 的时尚替代方案:
for t in range(150):
QRAIN1 = [1000*np.mean(QC[t,z,:,:]) for z in range(279)]
print len(QRAIN1)
QRAIN.append(QRAIN1)
QR = np.array(QRAIN)
我还删除了 range
调用中多余的 0,
-- 同样只是风格问题,但我喜欢 Tufte 的原则,"no wasted pixels":-)
当然,您也可以使用 嵌套 列表理解来构建所有 QRAIN
,但我知道这开始有点牵强,而且 "middle way" 内部的 listcomp,外部的 for
循环,可能被认为更具可读性。无论如何,以防万一你想试试...:[=19=]
QRAIN = [ [1000*np.mean(QC[t,z,:,:]) for z in range(279)]
for t in range(150) ]
QR = np.array(QRAIN)
这个没有 print
s 但我怀疑你只是将它们用作调试辅助工具,所以它们的丢失应该不是一个大问题,我希望:-).