下面的代码是我试图为每个seller_id创建一个字典,为每个卖家存储一个auth_token,然后存储一个skus列表。我的问题是:
这段代码在每次传递时都会重新输入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)发布于 2021-12-23 14:05:16
setdefault是你想要的。医生说:
设置默认值(键,默认值)
如果键在字典中,则返回其值。如果没有,则插入默认值的键并返回默认值。默认为无。
你应该使用:
self.prices_to_request.setdefault(seller_id, {})['auth_token'] = auth_token
self.prices_to_request[seller_id].setdefault('sku', []).append(sku)https://stackoverflow.com/questions/70463070
复制相似问题