我动态创建一个二维关联数组(字典?)迭代在Python一个键多维关联数组
我通过它的键试图环路 - 同时保持恒定的指标之一,因此对于实例的所有关联的值在其第一架“重点”与“约翰”:
myhash['john']['smith'] = "address 1"
myhash['john']['doe'] = "address 2"
我怎么可以得到所有的哈希键的每个“关键”保持第一指数为“约翰” (我想要所有的姓氏)
谢谢
我动态创建一个二维关联数组(字典?)迭代在Python一个键多维关联数组
我通过它的键试图环路 - 同时保持恒定的指标之一,因此对于实例的所有关联的值在其第一架“重点”与“约翰”:
myhash['john']['smith'] = "address 1"
myhash['john']['doe'] = "address 2"
我怎么可以得到所有的哈希键的每个“关键”保持第一指数为“约翰” (我想要所有的姓氏)
谢谢
myhash['john']
本身就是一本字典。 (你是不是建立一个多维的字典,而字典的字典。)
因此...
last_names = list(myhash['john'])
,或者如果你想要做的事在一个循环...
for last_name in myhash['john']:
# do something with last_name
>>> for k in myhash['john']:
... print(k)
...
smith
doe
我已经mentionned它的时候answering your previous question:它看起来像你试图重新发明方轮。考虑到你的需求,你可能会希望对lastname部分进行查询,然后返回到步骤1(浏览整个数据集,按顺序测试“2nd-level”键)或保留“lastname”存储lastname的索引:[firstname1,firstname2,firstnameN],它减少(但不禁止)顺序浏览,并且在插入或删除时需要更新。如果你正在重新实现关系数据库的大部分功能,并且你的实现不太可能比甚至更便宜的RDB更快或更强大。为了记录,有非常轻量级的,基于文件的(不需要服务器进程等)RDB引擎,如SQLite3(Python bindings are in the stdlib,所以你甚至不需要安装任何特殊的东西)。
是的,一本字典。 – 2012-07-07 19:28:40
[在python字典中迭代单个维度]的可能重复(http://stackoverflow.com/questions/11378048/iterate-over-a-single-dimension-in-python-dictionary) – Marcin 2012-07-07 20:32:05