임 새 두 파이썬과 사전의 사전을 키우려고. 나는 PHP와 perl에서 이것을했지만 파이썬은 매우 다르게 행동한다. 확실히 파이썬에 익숙한 사람들에게는 이해가됩니다. 여기 내 코드입니다 :파이썬에서 홀수 중첩 사전 동작
colnames = ['name','dob','id'];
tablehashcopy = {};
tablehashcopy = dict.fromkeys(colnames,{});
tablehashcopy['name']['hi'] = 0;
print(tablehashcopy);
출력 : 문제는 마지막 문 2에서 발생
{'dob': {'hi': 0}, 'name': {'hi': 0}, 'id': {'hi': 0}}
(나는 편의를 위해에 프린트를 넣어). 나는 한 요소가 'hi'키와 0 키를 가진 'name'사전에 추가되었다는 것을 알았습니다. 그러나이 키, 값 쌍은 모든 하위 사전에 추가되었습니다. 왜?
나는 이것을 우분투 컴퓨터에서 파이썬 2.6과 파이썬 3.1 모두에서 테스트했다.
+1 '{} .fromkeys'에 대한 깨끗한 대안 – tgray