我想为参数dem[I][t][c]创建一个矩阵,时间t时节点I中商品类型c的需求量
我的代码是:
pdd = 1 # number of node i
r = 2 # number of commodity type c
e = 1 # number of period t
dem = []
dem1 = []
dem2 = []
dem3 = []
for i in range(pdd):
for c in range(r):
for t in range(e):
dem0 = 1000
dem1.append (dem0)
dem2.append (dem1)
dem.append(dem2)
print dem
对于这个示例,我需要这个矩阵:[[[1000],[1000]]
但是python打印这个:[[1000,1000],[1000,1000]]
您引用的是同一个列表
dem1
,这意味着当您附加值1000时,它将保留在您的列表dem1
中,并且将来的附加值将建立此列表试试这个:
问题是,当您将一个列表添加到另一个列表时,您正在添加一个引用,因此当您稍后更改它时,它会在添加到的任何地方更改
在本例中,首先为dem1、2和3创建一个新列表,然后添加对它们的引用
在正确的
for
循环中创建列表,如下所示:您还可以使用列表理解:
相关问题 更多 >
编程相关推荐