1
미안 미안하지만, 기본적인 파이썬 문제인 경우, 어떤 이유로이 사실을 알 수 없습니다.파이썬에서리스트 목록으로 사전 바꾸기
[[{'j': 1}, {'j': 1}, {'j': 1}],
[{'j': 1}, {'j': 1}, {'j': 1}],
[{'j': 1}, {'j': 1}, {'j': 1}]]
가 지금은에 "B"로 변경한다고 가정 :
은 가정하자 나는
b=[[{'j':1}]*3]*3
그래서 "B는"이라고, 사전의 목록의 목록을 만들
[[{'j': 1}, {'j': 1}, {'j': 1}],
[{'j': 1}, {'j': 1}, {'j': 90}],
[{'j': 1}, {'j': 1}, {'j': 1}]]
그래서 나는 순진하게도이 코드 줄을 사용
b[1][2]['j']=90
그러나, "B"지금은 이것이다 :
[[{'j': 90}, {'j': 90}, {'j': 90}],
[{'j': 90}, {'j': 90}, {'j': 90}],
[{'j': 90}, {'j': 90}, {'j': 90}]]
왜 목록 변화의 목록에있는 사전의 모든 했습니까? b [1] [2] 항목이 왜 변경되지 않았습니까? 나는 또한 설명 할 수
[[{'j': 1}, {'j': 1}, {'j': 90}],
[{'j': 1}, {'j': 1}, {'j': 90}],
[{'j': 1}, {'j': 1}, {'j': 90}]]
에 또한
, 라인b=[[{'j':1}]*3]*3
b[1][2]={'j':90}
변경 "B"를.
아! 내가 참조! 놀라 울 정도로 빠른 답장을 보내 주셔서 감사합니다. 그것이 내가 필요한 것입니다. – ChickenGod
다음을 읽어보십시오. http://docs.python.org/2/faq/programming.html#how-do-i-create-a-multidimensional-list –