Sei sulla pagina 1di 2

class MapEntry:

def __init__(self,keyy,value):
self.keyy = keyy
self.value = value

class MapIterator:
def __init__(self,mapp):
self.mapref = mapp
self.CurNdx = 0
def __iter__(self):
return self
def __next__(self):
if self.CurNdx < len(self.mapref):
entry = self.mapref[self.CurNdx]
self.CurNdx += 1
return entry
else:
raise StopIteration

class Map:
def __init__(self):
self.elements = list()

def __len__(self):
return len(self.elements)

def findposition(self,key):
for i in range(len(self)):
if self.elements[i].keyy == key:
return i
return None

def contains(self,key):
IndexVar = self.findposition(key)
return IndexVar

def __add__(self,key,value):
IndexVar = self.findposition(key)
assert IndexVar is None,'DNE'
StoreVar = MapEntry(key,value)
self.elements.append(StoreVar)
return True

def __remove__(self,key):
IndexVar = self.findposition(key)
assert IndexVar is not None,'DNE'
self.elements.pop(IndexVar)

def ValueOfKey(self,key):
IndexVar = self.findposition(key)
assert IndexVar is not None,'DNE'
return self.elements[IndexVar].value
def __iter__(self):
return MapIterator(self.elements)
m = Map()
m.__add__('sami', 'Ullah')
print(m.contains('sami'))
print(m.ValueOfKey('sami'))
print(m.ValueOfKey('sami'))
print(m.findposition('sami'))

a = ['sami']
print(a[0])

Potrebbero piacerti anche