簡體   English   中英

如何從字典 python 列表中第一個元素的鍵中獲取值?

[英]How do i get a value from a key in the first element in a list with dictionaries python?

我創建了一個生成器,它創建一個帶有字典 {customer: "customer", key_id: key_id, key: "key"} 的列表

我需要檢索將每個鍵分配給我的 models.py 中的變量,以通過 sqlalchemy 將其發送到我的數據庫 sqlite。

我對此真的很陌生,在谷歌搜索了幾個小時后我放棄了。因為它在一個 for 循環中,我的大腦告訴我我可以為每個循環提取一個新行。 就像您在我的代碼中看到的那樣,我嘗試的最后一件事是將 mye dictlist 轉換為 dict..

data_generert = keydata.generator(amount, customer) 
#outputs a dictlist
#{'customer': 'hoppsann', 'key_id': 1, 'key': 'PsqnF6TBVQ'}
#{'customer': 'hoppsann', 'key_id': 2, 'key': '8ZE174eH5t'}
#{'customer': 'hoppsann', 'key_id': 3, 'key': 'g1gKESViEB'}
#{'customer': 'hoppsann', 'key_id': 4, 'key': 'd45Tbvq3mu'}
#{'customer': 'hoppsann', 'key_id': 5, 'key': 'lySs6q2ekG'}
#{'customer': 'hoppsann', 'key_id': 6, 'key': 'XKnup84vxv'}

   
    for i in data_generert:
        keys = Keys() # This is my model for sqalchemy
        data_generert = {}
        keys.customer = data_generert["customer"]
        keys.key = data_generert["key"]
        keys.key_id = data_generert["key_id"]

        db.add(keys)
        db.commit()

除非我有誤解,否則您的生成器每次迭代都會產生一個dict 那么這意味着對於i in data_generert每個i將是一個dict

所以你應該通過i訪問值。

我建議將變量名稱更改為更易於理解的名稱,以明確每個值都是dict而不是i通常表示的標准int迭代器值。

data_generert = keydata.generator(amount, customer)

for d in data_generert:
    keys = Keys()
    keys.customer = d["customer"]
    keys.key = d["key"]
    keys.key_id = d["key_id"]

    db.add(keys)
    db.commit()

暫無
暫無

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

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