아무도 왜 이런 일이 일어 났는지 설명 할 수 있습니까?파이썬 배열 이상한 행동?
사례 1 :
>>> a = [[0]] *3
>>> print a
[[0], [0], [0]]
>>> a[1].append(0)
>>> print a
[[0, 0], [0, 0], [0, 0]]
사례 2 : 왜이
>>> a = [[0],[0],[0]]
>>> print a
[[0], [0], [0]]
>>> a[1].append(0)
>>> print a
[[0], [0, 0], [0]]
일이야? 나는 사건 1에서 배열의 행동이 사건 2에서와 같을 것이라고 기대하지만 어떤 이유로는 아니다.
얕은 복사 : 당신은 변경 가능한 유형이 때 지능형리스트를 사용하여이 문제를 방지하려면 유일한 불변의 유형
와 스타 양식을 사용해야합니까? – Arpan
이것들은 배열이 아니라 파이썬'list's입니다. 파이썬의 맥락에서,'array'는 보통 NumPy 배열을 의미하는 것으로 해석됩니다 (표준 라이브러리'array' 모듈도 있음). –