我有下面的代碼,我試圖為每個賣家 ID 創建一個字典,為每個賣家存盤一個 auth_token,然后存盤一個 skus 串列。我的問題是:
1 - 此代碼在每次傳遞時重新初始化 Seller_id 記錄。我不知道如何把它變成create the record for this seller only if it doesnt exist
self.prices_to_request.update({(seller_id): {}})
2 - 是self.prices_to_request[seller_id].setdefault('sku', []).append(sku) 不是比我的try陳述更好的替代品?它似乎有效,但我無法完全測驗它,因為代碼seller_id在每次通過時都會重新初始化
代碼
def add(self, seller_id, auth_token, sku):
self.prices_to_request.update({(seller_id): {}})
self.prices_to_request[seller_id]['auth_token'] = auth_token
try:
self.prices_to_request[seller_id]['sku'].append(sku)
except KeyError:
self.prices_to_request[seller_id]['sku'] = []
self.prices_to_request[seller_id]['sku'].append(sku)
uj5u.com熱心網友回復:
setdefault是你想要的。醫生說:
setdefault(key[, default])如果鍵在字典中,則回傳其值。如果沒有,插入值為 default 的 key 并回傳 default。默認默認為無。
你應該使用:
self.prices_to_request.setdefault(seller_id, {})['auth_token'] = auth_token
self.prices_to_request[seller_id].setdefault('sku', []).append(sku)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/392961.html
下一篇:從多個字典填充熊貓資料框
