繁体   English   中英

在python中创建对象的字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM