Created
August 18, 2014 01:53
-
-
Save ugurunver/e0c879a020a87e074339 to your computer and use it in GitHub Desktop.
dizi ters cevirmece
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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