如何访问词典列表中的值?

时间:2013-07-01 19:17:38

标签: python json

我有一个名为'myjson'的字典,其中包含一个字典列表,由一个制表符分隔的电子表格的列名索引。电子表格的每一行都是一个字典,其中的键对应于电子表格的列,而值对应于特定行中的条目。

简体中文:

{'name':'Sam', 'DoB': 5/23/2000'}
{'name':'Jon', 'DoB': 5/10/2000'}

我需要访问名称“列”或“值集”(不确定如何引用它们)?

我该怎么做? 尝试了很多麻烦,

myjson[0].itervalues()为我提供了所有值

myjson[0][name]不起作用......


补充说:

我正在尝试解析包含名称和学位的字符串。我有很多这些。有些不包含度,有些包含一个,有些包含多个。

Ex strings:

Sam da Man J.D.
Green Eggs Jr. Ed.M.
Argle Bargle Sr. MA
Cersei Lannister M.A. Ph.D.

据我所知,学位有以下几种模式:

x.x.
x.x.x.
x.x.xx.
x.xx.
xx.x.
x.xxx.
two caps (ex: 'MA')

我该如何解析这个?我一直在阅读正则表达式并认为.match()可能是要走的路,但我不明白如何设置匹配的模式列表。

谢谢!

2 个答案:

答案 0 :(得分:3)

您为字典提供了字符串'name'的密钥,因此您需要使用它来访问它。 myjson[0]['name']应该给你你想要的东西。

答案 1 :(得分:3)

使用'name'而不是name,因为没有引号python会认为你指的是某个变量name

使用列表推导来获取所有这些值:

>>> lis = [{'name':'Sam', 'DoB': '5/23/2000'},{'name':'Jon', 'DoB': '5/10/2000'}]
>>> [x['name'] for x in lis]
['Sam', 'Jon']