[英]update dict value from one to another based on condition python
有沒有更好的方法來編寫以下代碼? 我有兩個具有與鍵相同的數據集的字典,我想迭代dict_a並檢查是否只有一個值的鍵,然后將值更新為dict_b。 我有下面的工作代碼,但似乎應該有一個更好的方法
dict_a = {
'first': {1,2},
'second': {2, 7, 10, 22},
'third': {3},
'fourth': {6,8},
'fifth': {1},
}
dict_b = {
'first': 11,
'second': 4,
'third': 1,
'fourth': 1000,
'fifth': 8
}
for k, v in dict_a.items():
if len(v) == 1:
dict_b[k] = v.pop()
#=>
#dict_b = {
#'first': 11,
#'second': 4,
#'third': 3,
#'fourth': 1000,
#'fifth': 1
#}
你是,可能是不必要的,修改dict_a
當你使用pop
的set
價值觀dict_a
。 您可以改為使用next
+ iter
來提取set
的唯一值:
dict_b[k] = next(iter(v))
您可以使用update
和generator使其成為單線:
dict_b.update((k, v.pop()) for k, v in dict_a.items() if len(v) == 1)
從算法上講,這沒有任何好處,但是會利用所使用的句法手段帶來的一些優化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.