如何从下面的列表中创建一个实例变量,其中包含一个名为 price 的字典键,我正在尝试使用名为 Library 的类检索所有书籍的价目表1 ) 这是书籍列表及其详细信息data = { "books" : [ { "number_of_pages" : 849, "price" : 13.550000000000001, "publish_date" : 2011, "subjects" : [ "Time travel", "Assassination" ], "title" : "11/22/63" }, { "number_of_pages" : 732, "price" : 7.9900000000000002, "publish_date" : 1999, "subjects" : [ "Authors", "Custody of children", "Grandfathers", "Haunted houses", "Novelists", "Trials (Custody of children)", "Widowers", "Widows", "Writer's block" ], "title" : "Bag of bones" },]} 2 ) 我创建了一个名为 Library 的类,它将解压列表并存储变量class Library: def __init__(self,**kwargs): for k, v in kwargs.items(): setattr(self, k, v) #print(k,v) if 'price' in v[0:][1]: for c in v[0:][1].items(): if 'price' in c: self.price=c['price'] def price_book(self): return self.price def __float__(self): return self.price Libra = Library(**data)Price=Libra.price_book()print(Price)在尝试使用实例返回时,它是否重新调整了为 price 设置变量的错误?如何设置实例变量并检索库中的价格列表?
2 回答

慕莱坞森
TA贡献1810条经验 获得超4个赞
if 'price' in v[0:][1]:
for c in v[0:][1].items():
if 'price' in c:
self.price=c['price']
items()字典的方法将键值对作为元组返回。
因此c是一个元组,例如('price', 7.99).
元组由整数索引,而不是字符串。
你可能想要self.price = c[1]。
添加回答
举报
0/150
提交
取消