簡體   English   中英

遍歷字典中單個鍵的多個值

[英]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

希望此鏈接可以為您提供幫助

在Python字典中為一個鍵附加多個值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM