
Python Koleksiyonları (Diziler)
Python programlama dilinde 4 tane dizi tipi vardır:
- List , sipariş edilen ve değiştirilebilen bir koleksiyondur. Yinelenen üyelere izin verir.
- Tuple sipariş edilen ve değiştirilemeyen bir koleksiyondur. Yinelenen üyelere izin verir.
- Set , sırasız ve eklemsiz bir koleksiyondur. Yinelenen üye yok.
- Dictionary, sıralanmamış değişken ve indeksli bir koleksiyondur. Yinelenen üye yok.
Bir koleksiyon türü seçerken, bu türün özelliklerini anlamak faydalıdır. Belirli bir veri seti için doğru tipin seçilmesi, anlamın kalıcılığı anlamına gelebilir ve verimlilik veya güvenlikte artış anlamına gelebilir.
1 2 3 |
meyveler = ["elma", "muz", "kiraz"] for meyve in meyveler: print(meyve) |
Kod Çıktısı:
1 2 3 |
elma muz kiraz |
Kod listelerinde eleman seçmek
1 2 3 4 5 6 7 8 9 |
a='is' b='nice' my_list=["my","list",a,b] my_list2=[[4,5,6,7],[3,4,5,6]] my_list[1:3] #['list', 'is'] my_list2[1][:2] #[3, 4] my_list+my_list #['my', 'list', 'is', 'nice', 'my', 'list', 'is', 'nice'] my_list*2 #['my', 'list', 'is', 'nice', 'my', 'list', 'is', 'nice'] |
veya liste içerisinde var mı diye bakmak istiyorsak
1 2 3 |
thislist = ["apple", "banana", "cherry"] if "apple" in thislist: print("Listede apple var.") |
Liste uzunluğunu len ile alabilirsiniz çıktısı 3 olacaktır.
1 2 |
thislist = ["apple", "banana", "cherry"] print(len(thislist)) |
listeye eleman eklemek için append() veya insert(1,”orange”) olarak ekleyebiliriz.
1 2 3 |
thislist = ["apple", "banana", "cherry"] thislist.append("orange") print(thislist) |
bir eleman silmek için
1 2 3 |
thislist = ["apple", "banana", "cherry"] thislist.remove("banana") print(thislist) |
pop kullanımı
1 2 3 |
thislist = ["apple", "banana", "cherry"] thislist.pop() print(thislist) #['apple', 'banana'] |
del kullanımı
1 2 3 |
thislist = ["apple", "banana", "cherry"] del thislist[0] print(thislist) #['banana', 'cherry'] |
clear kullanımı
1 2 3 |
thislist = ["apple", "banana", "cherry"] thislist.clear() print(thislist) #çıktı boş olur |
liste kopyalamak
1 2 3 |
thislist = ["apple", "banana", "cherry"] mylist = thislist.copy() print(mylist) #['apple', 'banana', 'cherry'] |
1 2 3 |
thislist = ["apple", "banana", "cherry"] mylist = list(thislist) print(mylist) |
count() kullanımı ile listede kaç tane o öğreden var olduğunu bulur
1 2 3 |
vowels = ['a', 'e', 'i', 'o', 'i', 'u'] count = vowels.count('i') print('The count of i is:', count) #<samp>The count of i is: 2</samp> |
Liste Methodları
append() | Listenin sonuna bir öğe ekler |
clear() | Listeyi temizle |
copy() | Listeyi kopyala |
count() | Listedeki o elaman sayısını döndürür |
extend() | Bir listenin öğelerini (veya yinelenebilir olanları) geçerli listenin sonuna ekleyin. |
index() | Belirtilen değere sahip ilk öğenin dizinini döndürür |
insert() | Belirtilen konumda bir öğe ekler |
pop() | Öğeyi belirtilen konumda kaldırır değer verilmezse son değeri kaldırır |
remove() | Belirtilen değere sahip öğeyi kaldırır |
reverse() | Listenin sırasını ters çevirir |
sort() | Listeyi sıralar |
Tuple
Bağlantı, sıralı ve değiştirilemez bir koleksiyondur . Python’da tuples yuvarlak parantez ile yazılmıştır.
1 2 |
thistuple = ("apple", "banana", "cherry") print(thistuple[1]) #çıktısı banana |
1 2 3 |
thistuple = ("apple", "banana", "cherry") for x in thistuple: print(x) |
1 2 3 |
thistuple = ("apple", "banana", "cherry") if "apple" in thistuple: print("Yes, 'apple' is in the fruits tuple") |
Aşağıdaki işlemi yapamazsınız çünkü tuple değişmezdir.
1 2 3 |
thistuple = ("apple", "banana", "cherry") thistuple[3] = "orange" # This will raise an error print(thistuple) |
1 2 3 |
thislist = ["apple", "banana", "cherry"] thistuple = ("apple", "banana", "cherry",thislist) print(thistuple) # ('apple', 'banana', 'cherry', ['apple', 'banana', 'cherry']) |
Set
Küme, sırasız ve altsız bir koleksiyondur. Python’da kümeler parantez içinde yazılmıştır ve değiştirilemez.
1 2 |
thisset = {"apple", "banana", "cherry"} print(thisset) |
Aşağıdaki örnekte setler var onlar üzerinden çıktılarına bakalım.
1 2 3 4 5 6 |
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) Months={"Jan","Feb","Mar"} Dates={21,22,17} print(Days) print(Months) print(Dates) |
Çıktısı:
1 2 3 |
{'Fri', 'Wed', 'Tue', 'Sun', 'Mon', 'Sat', 'Thu'} {'Mar', 'Jan', 'Feb'} {17, 21, 22} |
for ile günleri yazdırmak için
1 2 3 4 |
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) for d in Days: print(d) |
Çıktısı:
1 2 3 4 5 6 7 |
Fri Wed Tue Sun Mon Sat Thu |
veya bir ekleme yaptığımızda da durum yine aynıdır.
1 2 3 4 |
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"]) Days.add("Sun") print(Days) #{'Fri', 'Wed', 'Tue', 'Sun', 'Mon', 'Sat', 'Thu'} |
1 |
Days.discard("Sun") |
Kümeleri birleştirmek
1 2 3 4 5 6 7 8 9 10 11 12 |
DaysA = set(["Mon","Tue","Wed"]) DaysB = set(["Wed","Thu","Fri","Sat","Sun"]) AllDays = DaysA|DaysB print(AllDays) #{'Fri', 'Wed', 'Tue', 'Sun', 'Mon', 'Sat', 'Thu'} kümelerin birleşimi <span class="typ">AllDays1</span> <span class="pun">=</span> <span class="typ">DaysA</span> <span class="pun">&</span> <span class="typ">DaysB</span> <span class="kwd">print</span><span class="pun">(</span><span class="typ">AllDays1</span><span class="pun">) #{'Wed'} kümelerin kesişimi </span><span class="typ">AllDays</span> <span class="pun">=</span> <span class="typ">DaysA</span> <span class="pun">-</span> <span class="typ">DaysB</span> <span class="kwd">print</span><span class="pun">(</span><span class="typ">AllDays</span><span class="pun">) #{'Tue', 'Mon'} Kümelerin farkını verir </span> |
1 2 3 4 5 6 |
<span class="typ">DaysA</span> <span class="pun">=</span> <span class="kwd">set</span><span class="pun">([</span><span class="str">"Mon"</span><span class="pun">,</span><span class="str">"Tue"</span><span class="pun">,</span><span class="str">"Wed"</span><span class="pun">])</span> <span class="typ">DaysB</span> <span class="pun">=</span> <span class="kwd">set</span><span class="pun">([</span><span class="str">"Mon"</span><span class="pun">,</span><span class="str">"Tue"</span><span class="pun">,</span><span class="str">"Wed"</span><span class="pun">,</span><span class="str">"Thu"</span><span class="pun">,</span><span class="str">"Fri"</span><span class="pun">,</span><span class="str">"Sat"</span><span class="pun">,</span><span class="str">"Sun"</span><span class="pun">])</span> <span class="typ">SubsetRes</span> <span class="pun">=</span> <span class="typ">DaysA</span> <span class="pun"><=</span> <span class="typ">DaysB</span> <span class="typ">SupersetRes</span> <span class="pun">=</span> <span class="typ">DaysB</span> <span class="pun">>=</span> <span class="typ">DaysA</span> <span class="kwd">print</span><span class="pun">(</span><span class="typ">SubsetRes</span><span class="pun">)</span> <span class="kwd">print</span><span class="pun">(</span><span class="typ">SupersetRes</span><span class="pun">) #</span><span class="kwd">True </span><span class="kwd">True çıktısını verir</span> |
Dictionary(Sözlük)
Dictionary sıralanmamış, değişken ve indeksli bir koleksiyondur. Python’da sözlükler küme parantezleri içinde yazılmıştır ve anahtar ve değerlere sahiptir. Sözlükler diğer kolleksiyonlara göre biraz farklı. Java’da Hashmap e benzer diyebiliriz. Sözlükler iki kısımdan oluşur; keys(anahtar) ve value(değer), value kısmı bütün veri türünü içerebilir fakat keys kısmı sadece string ve int tipinde olabilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } print(thisdict) #{'brand': 'Ford', 'model': 'Mustang', 'year': 1964} çıktısı bu şekilde olacaktır. #dizi de 1. indisi çağırır gibi model indisini çağırıyoruz x = thisdict[<span class="pythonstringcolor">"model"</span>] print(x) #Mustang çıktı olarak verir #aynı şekilde get ile de getirebilirsiniz. x = thisdict.get(<span class="pythonstringcolor">"model"</span>) print(x) #Mustang çıktı olarak verir |
dict kullanrak da yukarıdaki gibi sözlük oluşturabiliriz
1 2 |
thisdict =dict(brand="Ford", model="Mustang", year=1964) print(thisdict) |
Veri değiştirme
1 2 3 4 5 6 7 |
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict["year"] = 2019 print(thisdict) #{'brand': 'Ford', 'model': 'Mustang', 'year': 2019} |
for kullanarak da verileri key değerlerini yazdırabiliriz
1 2 3 4 5 6 7 8 9 10 11 12 |
for x in thisdict: print(x) #çıktısı aşağıdaki gibi olacaktır #brand #model #year #value değerlerini yazdırmak için <span class="pythonkeywordcolor">for</span> x <span class="pythonkeywordcolor">in</span> thisdict: <span class="pythonkeywordcolor">print</span>(thisdict[x]) #<code class="w3-codespan">values()</code>Bir sözlüğün değerlerini döndürmek için işlevi de kullanabilirsiniz <span class="pythonkeywordcolor">for</span> x <span class="pythonkeywordcolor">in</span> thisdict.values(): <span class="pythonkeywordcolor">print</span>(x) #Her iki değeri de döndürmek için<code class="w3-codespan">items()</code>işlevi kullanılarak x'e key y'ye de value değerleri atanır <span class="pythonkeywordcolor">for</span> x, y <span class="pythonkeywordcolor">in</span> thisdict.items(): <span class="pythonkeywordcolor">print</span>(x, y) |
if ile anahtar kontrolü yapmak için;
1 2 3 4 5 6 7 |
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } if "model" in thisdict: print("Sözlükte model anahtarı var") |
Sözcük ekleme ve çıkartma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict["color"] = "red" print(thisdict) #veya aynı şeyi update ile de yapabilirsiniz thisdict.update({<span class="pythonstringcolor">"color"</span>: <span class="pythonstringcolor">"White"</span>}) print(thisdict) #çıkartma thisdict.pop(<span class="pythonstringcolor">"model"</span>del thisdict["model"]) #popitem ile son eklenen değer çıkartılır thisdict.popitem() #del ile de silme işlemi yapılabilir del thisdict["model"] #veya tamamen sözlük de silinebilir del thisdict |
Clear ile temizle
1 2 |
thisdict.clear() print(thisdict) #bize boz bir dizi çıktısı verecektir {} |
Sözlük Kopyalama
1 2 3 |
newdict = thisdict.copy() #veya newdict = <span class="pythonkeywordcolor">dict</span>(thisdict) |
fromkeys ile sözcüklere tek bir değer ataması yap
1 2 3 4 |
x = ('key1', 'key2', 'key3') y = 0 thisdict = dict.fromkeys(x, y) print(thisdict) #{'key1': 0, 'key2': 0, 'key3': 0} |
setdefault ile değer yok ise değer ata
1 2 3 4 5 6 7 |
car = { "brand": "Ford", "model": "Mustang", "year": 1964 } x = car.setdefault("model", "Bronco") print(x) #Mustang döner fakat sözlükte olmasaydı Bronco dönecekti. |
Method | Açıklama |
---|---|
clear() | Sözlük değerlerini temizler fakat sözlük hafızada boş olarak kalır |
copy() | Kopyasını oluşturur |
fromkeys() | Sözcüklere değer ataması yap |
get() | istenen value değerini getirir |
items() | Key-Value değerlerinin ikisini de döndürmek için kullanılır |
keys() | Sadece key adlarını döndürür |
pop() | İstenen key değerini ve value değerini siler |
popitem() | Son eklenen key-value siler |
setdefault() | Belirtilen anahtarın değerini döndürür. Anahtar yoksa: belirtilen değere sahip anahtarı yerleştirin |
update() | yeni key value değeri eklememize yarar |
values() | Sadece value değerlerini döndürür |
Bir yanıt bırakın