代码之家  ›  专栏  ›  技术社区  ›  Alexander

如何在django序列化程序查询中访问有序dict的键值

  •  0
  • Alexander  · 技术社区  · 2 年前

    我使用Django Rest api,并有一个序列化程序,它会像这样返回数据

    my_ordered=[有序词典([('idx','1231233'),('lock',None),[邮件','albundy@abc.com')]),OrderedDict([('idx','1212333'),('paper',无),('邮件','peggybundy@abc.com')])]

    type(my_ordered)    
    <class 'collections.OrderedDict'>
    

    我试着这样访问它的“电子邮件”密钥

    for trainer, training in my_ordered.items():
         print(training['Email'])
    

    NameError:名称“OrderedDict”未定义

    也尝试过

    import collections
    my_ordered = [collections.OrderedDict([('idx', '1231233'), ('rock', None), ('Email', 'albundy@abc.com')]), collections.OrderedDict([('idx', '1212333'), ('paper', None), ('Email', 'peggybundy@abc.com')])]
    #my_ordered.keys()[2]
    for trainer, training in my_ordered.items():
         print(training['Email'])
    
    my_ordered.keys()[2]
    

    AttributeError:“list”对象没有属性“items”

    但这也于事无补。

    How to access key values in ordered dictionary

    1 回复  |  直到 2 年前
        1
  •  1
  •   NixonSparrow    2 年前

    看这里:

    my_ordered = [collections.OrderedDict(...)]
    

    你的 my_ordered 实际上是一个列表 OrderedDict s.在示例中,您可以使用:

    my_ordered[0].keys()