我想重新映射或將字典的鍵更改爲1,2,3,...,因爲鍵本身有點複雜。在這篇文章之後,How do I re-map python dict keys 這就是我所做的。嘗試重新映射Python中字典的鍵時出現keyerror
tmp=0
for keys in population.items():
tmp+=1
population[tmp]=population.pop(keys)
但是,我得到keyerrors,這通常意味着密鑰不存在。任何人都可以幫助我嗎? PS。我對字典中的項目進行了隨機抽樣。所以我不確定字典中的關鍵字是什麼。
編輯:我改變了代碼。然後它適用於小數據集,但對於大數據集並不適用。我添加了下面的代碼。
for keys, vs in population.items():
print str(keys)+ "corresponding to" + str(vs)
Here is what I got:
1024corresponding to10
7corresponding to2
855corresponding to4
13corresponding to310
686corresponding to6
22corresponding to172
24corresponding to214
25corresponding to62
26corresponding to18
28corresponding to9
29corresponding to435
30corresponding to210
32corresponding to243
34corresponding to450
859corresponding to8
37corresponding to1
689corresponding to3
43corresponding to53
46corresponding to8
47corresponding to2
48corresponding to7
52corresponding to254
54corresponding to441
820corresponding to3
57corresponding to19
59corresponding to9
61corresponding to3
63corresponding to1
65corresponding to1
66corresponding to6
(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0)corresponding to7
68corresponding to46842
73corresponding to8
74corresponding to513
75corresponding to52
866corresponding to10
79corresponding to5
80corresponding to712
81corresponding to1
82corresponding to118
83corresponding to15
84corresponding to9
87corresponding to1
88corresponding to7
868corresponding to24
93corresponding to133
94corresponding to9
97corresponding to355
98corresponding to10
99corresponding to9
101corresponding to1
103corresponding to93
114corresponding to3
702corresponding to5
119corresponding to1
121corresponding to1
123corresponding to5
124corresponding to3
125corresponding to3
819corresponding to5
127corresponding to8
131corresponding to137
133corresponding to3
138corresponding to145
139corresponding to3
142corresponding to14
145corresponding to3
147corresponding to6
149corresponding to6
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0)corresponding to1
編輯編輯:我想改變所有的元組來表示人口字典的關鍵字。但是在我做出改變之後,然後打印出所有的鍵和值,它仍然給了我元組,就像你從打印出來的那樣。
「人口」是什麼樣的? – michaelpri
請注意'.items()'不返回鍵列表。它返回'(key,value)'元組列表。有關更多信息,請參閱'pydoc dict'。 – larsks
@michaelpri,人口將元組映射到一個整數。 – josephS