簡體   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