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