Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

Python Demetler

LeGoLaS

ikra
Emektar Yönetici
Konum
Türkiye
  • Üyelik Tarihi
    1 Ağu 2008
  • Mesajlar
    9,931
  • MFC Puanı
    1,646
  • MFC Seviyesi

DEMETLER



Demetler
Merhaba arakadaşlar bu yazımızda demetlerden bahsedeceğiz.
Demetler bir önceki konuda Okan arkadaşımızın anlattığı listelerle çok benzerdir. Fakat listelerle arasında küçük ama temel bir fark vardır. Listeleri oluşturduktan sonra veri ekleyip çıkartabilirken demetlerde böyle bir şey yapamıyoruz. Zaten demet denmesinin sebebi de bu. Nasıl günlük hayatta bir demet çiçek bağlandıktan sonra bir daha çözülmüyorsa Python da da aynı durum geçerli :).. Neden listeler gibi daha güçlü bir yapıyı kullanmıyoruz diyorsanız demetler ekleme çıkarma gibi işlemlerle uğraşmadığı için daha hızlı çalışır ve eklenen verilerin program boyunca değiştirilmesini istemiyorsak çok işimize yarar.
Python da demet oluşturma değişken tanımlamaya benzer, hemen bir örnekle gösterelim:

Boş bir demet oluşturma:
[COLOR=white !important]?
1
2
>>>demetb=()
>>>


İndisler içeren demet oluşturma:
[COLOR=white !important]?[/COLOR]​
1
2
>>>demet=”Bir”,”Varmış”,1,”Yokmuş
>>>


Evet bu kadar basit mi diyorsanız şu şekilde de yapabilirsiniz isterseniz :) :
[COLOR=white !important]?[/COLOR]​
1
2
>>>demet2=(1,”varmış”,”1”,”yokmuş”)
>>>


Bu oluşturduklarımızın üçü de demet sınıfına girmiş oldu.Bunun kontrolünü şu şekilde yapabiliriz:
[COLOR=white !important]?[/COLOR]​
1
2
3
>>>type(demet2)
>type tuple="">
>>>


tuple kelimesinin türkçe karşılığı tahmin ettiğiniz gibi demettir :).
Tek öğeli bir demet tanımlamak istersek değişken tanımıyla karşılaşmaması için farklı bir tanımlamaya ihtiyaç duyar:
[COLOR=white !important]?[/COLOR]​
1
2
>>>demet=(“tek”,)
>>>


Demetler böyle basit tanımlamalar dışında şu şekilde bir tanımlamayı da kabul eder:
[COLOR=white !important]?[/COLOR]​
1
2
>>>a = (["kavun", "karpuz", "çilek"],)
>>>


Burada da gördüğünüz gibi demetimizin içinde liste gizlemiş olduk. Yani her ne kadar demetler değiştirilemeyen veri tipleridir desek de içine değiştirilebilir elemanlar alabilir. Burada aslında bir paradoks vardır diyebiliriz :). Şöyle bir tanımlama yapalım:
[COLOR=white !important]?[/COLOR]​
1
>>>b=(["kavun", "karpuz", "çilek"],2,3,4,"beş")


Ayrıca tanımlamaları tek tırnak kullanarak da yapabiliriz arkadaşlar.Gördüğümüz gibi demetimizin birinci öğesi bir liste bu öğelere şu şekilde ulaşabiliriz:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
>>b[indisno]
>>>b[0]
['kavun', 'karpuz', 'çilek']
>>>


Eğer listenin içindeki herhangi bir elemana erişmek istiyorsak:
[COLOR=white !important]?[/COLOR]​
1
2
3
>>>b[0][2]
'çilek'
>>>


Bu b[0] elemanımız bir liste olduğu için listelerin tüm metodlarını bu indis için kullanabiliriz:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
>>>b[0].append('muz')
>>>b[0]
(['kavun', 'armut', 'erik', 'muz'],2,3,4,'beş')
>>>


Demetlerin Metodları Demetlerde ekleme çıkarma gibi işlemler olmadığı için sadece iki basit metodu vardır.Bunlardan birincisi demette yer alan öğemizin sırasını bulmaya yarayan “index()” metodu, bir diğeri de belirttiğimiz elemanın demet içerisinde kaç defa tekrar ettiğini bulmaya yarayan “count()” metodudur. Şimdi bu metodların nası kullanıldığını görelim: index() metodu
[COLOR=white !important]?[/COLOR]​
1
2
3
4
>>>demet=('Lale','Gül','Papatya','Papatya')
>>>demet.index('Gül')
1
>>>


Yani Gül kelimesi birinci indiste yer alıyormuş index metoduna ikinci bir parametre ekleyibiliriz:
[COLOR=white !important]?[/COLOR]​
1
2
3
>>>demet.index('Papatya',2)
3
>>>


Bu komutla Python a şunu demiş oluyoruz “Papatya kelimesinin ikinci defa geçtiği indis numarasını bana ver.”.count() metodu
[COLOR=white !important]?[/COLOR]​
1
2
3
4
>>>demet=('Dergi','Gazete','Dergi','Dergi',0,0,0)
>>>demet.count(0)
3
>>>


Bu yazdığımız ise 0 dan kaç adet bulduğunu sonuç olarak gönderdi bize. İki metodun kullanımı işte bu kadar basit. Son olarak Python daki demetleme ve demet çözme denilen kavramlardan bahsedelim. Demetleme dediğimiz aslında demet tanımla demektir demet çözme ise bir demeti tek tek değişkenlere yerleştirme işlemidir. Şöyle ki:
[COLOR=white !important]?[/COLOR]​
1
2
>>>demet=(["kavun", "karpuz", "çilek"],2,3,4,"beş")
>>>a,b,c,d,e=demet


İkinci satırdaki komutumuz her harfe atama yaparak elimizde farklı türlerde değişkenler oluşturmuş olduk. 'a' artık bir liste, 'b,c,d' integer , 'e' de bir string değişken olmuş oldu. Demetlerle ilgili yazımızda bu kadardı arkadaşlar. Bir daha yazıda görüşmek üzere :).
[/COLOR]
 
Üst Alt