![](/img/trans.png)
[英]How to covert a list of lists into dataframe and make the first element of the lists as the index
[英]Assigning element of list of lists by index sets all first elements of the lists
我每个月都有3个值的列表,像这样初始化:
v=[[0.0,0.0,0.0]]*12
在2个嵌套循环中,我想为一个元素添加一个值:
v[month-1][pos] += row[0]
在执行代码month-1 = 8
和pos = 0
某一时刻。 从查询到数据库的row[0]
是1.0
。
结果很奇怪,我得到了[[1.0, 0.0, 0.0], [1.0, 0.0, 0.0], [1.0,....
因此,每个子列表的第一个元素都设置为1.0
。 怎么会这样 更奇怪的是,如果我调试代码并手动设置值v[8][0]=9
左右,那么它将按预期工作。
当您执行v=[[0.0,0.0,0.0]]*12
您将获得一个包含12个对同一列表的引用的列表,以改正使用理解:
v = [[0.0,0.0,0.0] for _ in range(12)]
通常,不希望在可变元素上使用这样的*
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.