0
我是一名剛接觸python的學生。我想要定義一個數組類,它使用字典作爲其唯一的成員變量。我假定Python實現了字典作爲唯一的結構化類型(即沒有數組,列表,元組等)。僅使用字典創建數組類
我在編寫這樣的程序時遇到了困難。
這是我的代碼:
class array(object):
def __init__(self):
self.dic={}
def __init__(self,diction):
self.dic = {}
for x in diction:
self.dic.append(x)
def __setitem__(self,key,value):
self.dic[key]=value
def __getitem__(self,key):
if key not in self.dic.keys():
raise KeyError
return self.dic[key]
我想要的程序這樣的工作方式:
a = array('a','b','c') #------output------
print(a) # ['a', 'b', 'c']
print(a[1]) # b
a[1] = 'bee'
print(a) # ['a', 'bee', 'c']
a[3] = 'day'
print(a) # ['a', 'bee', 'c', 'day']
print(a[6]) # IndexError exception
任何建議,意見。 :)
爲什麼你有2 __init__函數? –
Python不支持多重構造函數的重載,所以只會使用一個'__init__'(第二個)。使用默認參數 –
我還建議您不要調用您的類數組 - 您將與相同名稱的python數據結構發生衝突。改稱MyArray或其他。 –