迭代字典中单个键的多个值

2024-10-05 13:18:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我的字典中有一个单键包含多个值。我写过单值简单字典。python不能解决这个问题。我需要更新一个数据库表,其中“field”是列,值将来自“rows”,如下面的示例所示。在

“field”键将是列,“rows”键将是数据库表中相应列的值。在

dictn = {
    u'field': [u'time',
               u'met1',
               u'met2',
               u'met3',
               u'met4',
               u'met5',
               u'met6',
               u'met7'],
    u'set': 0,
    u'messages': [{u'text': u'string',
                   u'type': u'INFO'}],
    u'rows': [[u'2016-01-00:00',
               None,
               u'0.24',
               None,
               u'0.24',
               None,
               u'0.16',
               u'60'],
              [u'2016-01-00:01:00:00',
               None,
               u'0.00',
               None,
               u'0.00',
               None,
               u'0.003500',
               u'60'],
              [u'2016-01-00:02:00.00',
               None,
               u'0.64',
               None,
               u'0.64',
               None,
               u'0.26',
               u'60']]
}

Tags: none数据库示例field字典timerows单值
2条回答

您可以遍历值列表,即dictn['rows'],并使用每个值列表和列名列表(即dictn['field'])将所有记录保存到数据库中。在

for value_lst in dictn['rows']:
  record_dict = dict(zip(dictn['field'], value_lst))
  db_model.save(record_dict)

其中db_模型.保存()采用格式为的单个数据库记录的字典

^{pr2}$

并保存在数据库中。在

字典中的单个键只能引用单个值

在这个例子中,您给出的键u'field'包含一个值,它是一个元素列表,即

[u'time',u'met1',u'met2',u'met3',u'met4',u'met5',u'met6',u'met7']

因此,为了访问存储在键值u'field的列表,您应该使用

^{pr2}$

之后,可以使用for循环遍历列表中的所有元素

for element in list_of_elements:
    # do something

希望这个链接能对你有所帮助

append multiple values for one key in Python dictionary

相关问题 更多 >

    热门问题