0
我有一個輸入矩陣看起來像這樣蟒蛇組矩陣添加操作
grid = [[1,1,2],[1,2,3],[3,2,4]]
我使用下面的代碼來構建集的矩陣。
m,n = len(grid), len(grid[0])
valuesets = [[set()]*n for _ in range(m)]
for j in range(n):
s = sum(grid[0][:j+1])
valuesets[0][j].add(s)
print valuesets[0][0]
輸出給了我
set([1])
set([1, 2])
set([1, 2, 4])
我很奇怪,爲什麼valuesets [0] [0]正在更新每次在for循環而不是停留在相同的值設定([1])像我預料的那樣?謝謝。
默認參數值: https://docs.python.org/3/tutorial/controlflow.html#default-argument-values –
不要這樣做'[set()] * n'。改爲使用'[set()for _ in range(n)]'。 –