私が達成しようとしているのは、小さな 2D リストを大きなリストに挿入することです (私は Python 2.7.3 を使用しています)。
var1
とで異なる結果が得られるのはなぜvar2
ですか?
def modify(foo):
small = [[1]*2]*2
for y, line in enumerate(small):
foo[y+1][1:3] = line
return foo
var1 = [[0]*4]*4
var2 = [
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]]
print modify(var1)
print modify(var2)
# Result:
# var1 = [
# [0, 1, 1, 0],
# [0, 1, 1, 0],
# [0, 1, 1, 0],
# [0, 1, 1, 0]]
#
# var2 = [
# [0, 0, 0, 0],
# [0, 1, 1, 0],
# [0, 1, 1, 0],
# [0, 0, 0, 0]]