[英]Create dictionaries of objects in python
我创建了一个对象(信用卡)字典:
class CreditCard:
def __init__(self,number,expire_date_month,expire_date_year,CVC):
self.number=number
self.expire_date_month=expire_date_month
self.expire_date_year=expire_date_year
self.CVC=CVC
credit_cards={CreditCard('1000000000000000','3','2011','111'):'VISA'}
credit_cards_frozen=frozenset({CreditCard('1000000000000000','3','2011','111'):'VISA'})
但是执行这些命令时出现错误:
print credit_cards['VISA'] #KeyError: 'VISA'
print credit_cards_frozen['VISA'] #TypeError: 'frozenset' object is not subscriptable
我的代码有什么问题?
我认为您的代码有两点错误。
如果希望通过其关联的字符串(在本例中为“ VISA”)检索CreditCard对象,则应将该字符串设置为键,将对象设置为值,而不是相反。 你的dict
应该像这样,
credit_cards={'VISA':CreditCard('1000000000000000','3','2011','111')}
如果同一字符串有多个对象,则该值可以是这些对象的list
。
frozenset
不是dict
。 它不存储(键,值)配对数据。 从dict
创建frozenset
集只会创建包含该字典所有键的集合。 为什么仍然需要它?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.