Python Egitim Notlari - II
- Sevdanur GENC

- Jan 27, 2013
- 4 min read
Egitimin ikinci adiminda, Python’da cok sik bir sekilde kullanabilecegimiz komutlardan bahsetmeye calisacagim. Tabi bunlarla ilgili Tutorial’lara, kurmus oldugunuz Python paketleri icerisindeki The Python Tutorial.html icerisinden de ulasabilirsiniz. - Append() komutu ile listenize yeni veriler ekleyebilirsiniz. l = <1,2,3,4,"str","a","b"> kopya = [] for i in l: kopya.append(i) print kopya - Iki listeyi birlestirmek istiyorsaniz eger bunu toplama islemini kullanabilirsiniz. >>> l = <1,2,3> >>> l2 = ["a","b","c"] >>> l3 = l + l2 >>> l3 <1, 2, 3, 'a', 'b', 'c'> - Listeye ekleme yapabilmek icin += operatoru kullanabiliriz >>> l3+=["c","d","e"] >>> l3 <1, 2, 3, 'a', 'b', 'c', 'c', 'd', 'e'> - Listeyi istedigimiz sayida tekrar ettirebiliriz >>> liste = ["isparta","istanbul","balikesir"] * 3 >>> liste <'isparta', 'istanbul', 'balikesir', 'isparta', 'istanbul', 'balikesir', 'isparta', 'istanbul', 'balikesir'> - Bir elemanin listede olup olmadigini kontrol edebilmek icin 1 in liste dersek false yada true degerini donderecektir. "antalya" in liste l = range(10) <0, 1, 2, 3, 4, 5, 6, 7, 8, 9> l.append(12) <0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12> - #!/usr/bin/python ifadesi ile python'un kurulu olan paketinin yolunu belirtmis oluyoruz. liste = [] while True: girdi = raw_input(">>>") if girdi == "q": break elif girdi not in liste: liste.append(girdi) print liste - Listeden bir eleman silebilmek icin del komutu kullanilir l = range(5) del l<0> #listenin 0.elemani silinmis olacaktir. - Remove fonksiyonu ile listenizden istenilen elemani cikarabilirsiniz. l.remove(2) gibi listeden ilk karsilastigi elemani siliyor - Listeden istedigimiz elemani silmek icin liste = <1,2,3,4,5,1,2,3,4> for i in liste: print i, print "\n" silinecek = raw_input("silinecek eleman : ") if int(silinecek) in liste: for i in range(len(liste)): if liste == int(silinecek): del liste - Listeden istedigimiz elemani silmek icin liste = <1,2,3,4,5,1,2,3,4> for i in liste: print i, print "\n" silinecek = raw_input("silinecek eleman : ") if int(silinecek) in liste: uzunluk = len(liste) sayac = 0 while sayac<uzunluk: if liste == int(silinecek): del liste uzunluk = uzunluk - 1 continue sayac = sayac + 1 - Pop ile listenizdeki elemanlardan sonuncusunu silebilirsiniz. Parametre verilirse o parametreye gore listeden o elemani silecektir. >>> liste = ["isparta","istanbul","balikesir"] >>> liste.pop() 'balikesir' >>> liste.pop(1) 'istanbul' - Elimizdeki listede tekrar eden elemanlar varsa; >>> liste = ["a","istanbul","balikesir","2012","2012","2012","istanbul"] >>> liste.count("istanbul") 2 >>> liste.count("2012") 3 >>> liste = ["a","istanbul","balikesir","2012","2012","2012","istanbul"] bosliste = [] for i in liste: if i not in bosliste: bosliste.append(i) print bosliste - Listedeki elemanlari siralamak icin; l = <43,3,8,19,0> l.sort() #listeyi siralayip gosteriyor, default'u kucukten buyuge dogrudur sorted(l) #listenin siralanmis halini gosteriyor sorted(l, reverse=True) #listelemeyi buyukten kucuge dogru yapiyor l=["aa", "bbbbb", "ccc", "llll", "k"] sorted(l,key=len) #listedeki elemanlarin uzunluguna gore siraliyor - Listedeki elemanlarin son harfine gore siralama uygulamasi; def sonharf(x): return x<-1> def karsilastirma(x,y): if x<-1> > y<-1>: return 1 elif x<-1> < y<-1>: return -1 else: return 0 l = ["aa","oo","pp","gads"] siralanmis = sorted(l,key=sonharf) karsilastirilmis = sorted(l,cmp=karsilastirma) print siralanmis print karsilastirilmis - Son uc basamaga gore siralama uygulamasi; def toplam(x): return int(x<-1>) + int(x<-2>) + int(x<-3>) def karsilastir(x,y): valx = toplam(x) valy = toplam(y) if valx < valy: return -1 elif valx > valy: return 1 else: return 0 l = ["111","123451379","12300", "3451"] siralanmis = sorted(l,key=toplam) siralanmis2 = sorted(l,cmp=karsilastir) print "siralanmis Liste(Key) : " for i in siralanmis: print i, print "Silanmis Liste(Cmp) : " for i in siralanmis2: print i, - Listenin basina numaralar koyamk istersek; >>> l = <'aa',"bbbb","ccc","lll","k"> >>> for i in range(len(l)): ... print i,l ... 0 aa 1 bbbb 2 ccc 3 lll 4 k - Filtreleyerek listeleme >>> def esitmi(x): ... return x<0> == x<-1> ... >>> l = ["abs","aaa","1asd1","ggp"] >>> filtrelenmis = filter(esitmi,l) >>> >>> for i in filtrelenmis: ... print i, ... aaa 1asd1 - Sayilarin oldugu bir listeden 2 ve 3e bolunen sayilari listeleyelim. Listedeki 2 ve 3e bolunebilen sayilari bulsun. def bolunurmu(x): #return x%2 == 0 and x%3 == 0 if x%2 == 0 and x%3 == 0: return True else: return False liste = <66,32,33,90,11> filtrelenmis = filter(bolunurmu,liste) print "Filtrelenmis hali : " for i in filtrelenmis: print i, - Map fonksiyonu >>> liste = range(10) >>> >>> for i in range(len(liste)): ... liste= liste + 2 ... >>> print liste <2, 3, 4, 5, 6, 7, 8, 9, 10, 11> - Eger bu islemi map fonksiyonla yapacak olursak; >>> def ikiiletopla(x): ... return x+2 ... >>> liste = range(10) >>> >>> print liste <0, 1, 2, 3, 4, 5, 6, 7, 8, 9> >>> liste = map(ikiiletopla,liste) >>> print liste <2, 3, 4, 5, 6, 7, 8, 9, 10, 11> - Listedeki sayilarin karakokunu alan program. Karakok alma x**0.5 veya pow(x,0.5) , Sayiyi yuvarlamak icin round(x,6) ile alti basamak gosterir. def karakok(x): #return pow(x,0.5) return round(x**0.5,2) liste = range(0,20) print liste liste = map(karakok,liste) for i in liste: print i, - Rehber Uygulamasi pass komutu herhangi birsey yazilmayacaksa kullanilir. isimler = [] numaralar = [] while True: print "(1) Ekleme" print "(2) Arama" mod = raw_input(">>>") if mod == "1": #Kaydet isim = raw_input("Isim Giriniz : ") if isim =="q": break if isim in isimler: print "ayni isimden baska bir kisi" continue numara = raw_input("Numara Giriniz : ") isimler.append(isim) numaralar.append(numara) os.system("clear") elif mod == "2": #Ara isim = raw_input("Aranacak Ismi Giriniz : ") if isim == "q": break if isim in isimler: index = isimler.index(isim) print isim + "----->" + numaralar(index) else: print isim + " Boyle Bir Isim Bulunamadi" else: print "Gecersiz Mod" Keyifli Calismalar Dilerim...
Comments