[英]Iterate over multiple values for a single key in dictionary
我的詞典之一包含單個鍵的多個值。 我曾經研究過具有單個值的簡單字典。 我是python的新手,無法弄清楚該如何處理。 我需要更新一個數據庫表,其中“字段”將是列,而值將來自“行”,如以下示例所示。
“字段”鍵將是列,“行”鍵將是數據庫表中對應列的值。
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']]
}
您可以遍歷值列表即dictn['rows']
列表,並使用每個值列表以及列名列表即dictn['field']
來將所有記錄保存到數據庫。
for value_lst in dictn['rows']:
record_dict = dict(zip(dictn['field'], value_lst))
db_model.save(record_dict)
其中db_model.save()采用格式為單個數據庫記錄的字典
{
u'time': u'2016-01-00:00',
u'met1': None,
... so on for all the fields ...
}
並將其保存在數據庫中。
字典中的單個鍵只能引用單個值
在示例中,您給鍵u'field'
包含一個值,該值是元素列表,即
[u'time',u'met1',u'met2',u'met3',u'met4',u'met5',u'met6',u'met7']
因此,為了訪問存儲在鍵值u'field
的列表,您應該使用
list_of_elements = dictn[u'field']
之后,您可以使用for循環遍歷列表中的所有元素
for element in list_of_elements:
# do something
希望此鏈接可以為您提供幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.