Skip to content

Instantly share code, notes, and snippets.

@ugurunver
Created August 18, 2014 01:53
Show Gist options
  • Save ugurunver/e0c879a020a87e074339 to your computer and use it in GitHub Desktop.
Save ugurunver/e0c879a020a87e074339 to your computer and use it in GitHub Desktop.
dizi ters cevirmece
class Dondurgec(list):
"""
nispeten ufak listelerde ise yarayabilir
ayrica list'in butun metotlari tekrar yazilmali ki saglikli calissin.
ayrica .sort() metotunun indisleri degistirdigini kesfetmeme yardimci oldu.
"""
_yon = True
def __setitem__(self, indis, deger):
superi = super(Dondurgec, self).__setitem__
if self._yon:
return superi(indis, deger)
else:
return superi(len(self)-indis-1, deger)
def __getitem__(self, indis):
superi = super(Dondurgec, self).__getitem__
if self._yon:
return superi(indis)
else:
return superi(len(self)-indis-1)
def __iter__(self):
for i in range(len(self)):
yield self.__getitem__(i)
def __repr__(self):
return str([a for a in self.__iter__()])
def reverse(self):
# orjinalini istemedik boyle oldu
self._yon = not self._yon
liste = Dondurgec([1,3,5,"c","g",23232])
print liste
liste.reverse()
print liste
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment