访问odict_items中的项目

时间:2019-05-03 14:27:08

标签: python

我有如下所示的odict_items,这是我拥有的Ordereddict个项目的打印输出

odict_items([('S.No', '1'), ('Name', 'Ventura'), ('Location', 'Ph'), ('OL', 'ML'), ('Tech', 'IT'), ('Value', 223)])
odict_items([('S.No', '4'), ('Name', 'Ventura'), ('Location', 'Ph'), ('OL', 'ML'), ('Tech', 'IT'), ('Value', 223)])
odict_items([('S.No', '15'), ('Name', 'Ventura'), ('Location', 'Ph'), ('OL', 'ML'), ('Tech', 'IT'), ('Value', 223)])

如何从每个项目访问S.No key并将values 1,4,15分组

1 个答案:

答案 0 :(得分:1)

在这里我必须假设您在某些时候与以下情况类似:

ods = [ OrderedDict(<your data>), OrderedDict(<your data>), OrderedDict(<your data>) ]
for d in ods:
    print(d.items())

如果您仍然有这些字典的来源,则可以并且应该使用d['S.No']访问该值。

如果由于某种原因您自己仍然没有OrderedDict,则可以创建一个函数来获取值:

def get_sno(od_items):
    for item in od_items:
        if item[0] == 'S.No':
            return item[1]
    return None

就这样使用:

snos = []
for d in ods:
    snos.append(get_sno(d.item()) # preferably snos.append(d['S.No']) instead