我打印时,下面的代码给出了c和d的不同值
Run Code Online (Sandbox Code Playgroud)import csv datafile = open('test1.csv', 'r') datareader = csv.reader(datafile) c = [] for row in datareader: c.append(row) d = [[0]*2]*2 i=0 while i < 2: j=0 while j < 2: d[i][j] = float(c[i][j]) j=j+1 i=i+1 print(c) print(d)
这一行:
d = [[0]*2]*2
Run Code Online (Sandbox Code Playgroud)
不创建内部列表的副本,它只是创建对同一列表的多个引用.用明确的声明替换它:
d = [[0, 0], [0, 0]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |