Python Listeler

Hüseyin

Hüseyin

Üye
Top Poster Of Month
Katılım
21 Ocak 2024
Mesajlar
78
Tepkime puanı
27
Puanları
18
Listeler

Python'da dört adet koleksiyon veri tipi vardır:

List: Sıralı ve değiştirilebilir (modifiye edilebilir) bir koleksiyondur. Yinelenen üyelere izin verir.
Tuple: Sıralı ve değiştirilemez veya değiştirilemez (değişmez) bir koleksiyondur. Çift üyelere izin verir.
Set: sıralanmamış, indekslenmemiş ve değiştirilemeyen bir koleksiyondur, ancak kümeye yeni öğeler ekleyebiliriz. Yinelenen üyelere izin verilmez.
Dictionary: sırasız, değiştirilebilir (modifiable) ve indekslenebilir bir koleksiyondur. Yinelenen üye yoktur.

Liste, sıralı ve değiştirilebilir (mutable) olan farklı veri tiplerinin bir koleksiyonudur. Bir liste boş olabilir veya farklı veri tipi öğelerine sahip olabilir.

Liste Nasıl Oluşturulur

Python'da listeleri iki şekilde oluşturabiliriz:

Liste yerleşik fonksiyonunu kullanarak

Python:
# syntax
lst = list()
Python:
empty_list = list() # bu boş bir liste, listede öğe yok
print(len(empty_list)) # 0


Köşeli parantez kullanarak, []

Python:
# syntax
lst = []
Python:
empty_list = [] # bu boş bir liste, listede öğe yok
print(len(empty_list)) # 0


İlk değerlere sahip listeler. Bir listenin uzunluğunu bulmak için len() fonksiyonunu kullanırız.

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']                     # meyve listesi
vegetables = ['Tomato', 'Potato', 'Cabbage','Onion', 'Carrot']      # sebze listesi
animal_products = ['milk', 'meat', 'butter', 'yoghurt']             # hayvanlar listesi
web_techs = ['HTML', 'CSS', 'JS', 'React','Redux', 'Node', 'MongDB']  # web teknolojileri listesi
countries = ['Finland', 'Estonia', 'Denmark', 'Sweden', 'Norway']

# Print the lists and its length
print('Fruits:', fruits)
print('Number of fruits:', len(fruits))
print('Vegetables:', vegetables)
print('Number of vegetables:', len(vegetables))
print('Animal products:',animal_products)
print('Number of animal products:', len(animal_products))
print('Web technologies:', web_techs)
print('Number of web technologies:', len(web_techs))
print('Countries:', countries)
print('Number of countries:', len(countries))

Python:
output
Fruits: ['banana', 'orange', 'mango', 'lemon']
Number of fruits: 4
Vegetables: ['Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
Number of vegetables: 5
Animal products: ['milk', 'meat', 'butter', 'yoghurt']
Number of animal products: 4
Web technologies: ['HTML', 'CSS', 'JS', 'React', 'Redux', 'Node', 'MongDB']
Number of web technologies: 7
Countries: ['Finland', 'Estonia', 'Denmark', 'Sweden', 'Norway']
Number of countries: 5



Listeler farklı veri türlerinde öğelere sahip olabilir

Python:
lst = ['PwnLabMe', 3, True, {'country':'Turkiye', 'city':'Ankara'}] # farklı veri türleri içeren liste


Pozitif İndeksleme Kullanarak Liste Öğelerine Erişme

Bir listedeki her bir öğeye indekslerini kullanarak erişiriz. Bir liste indeksi 0'dan başlar. Aşağıdaki resim indeksin nerede başladığını açıkça göstermektedir

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
first_fruit = fruits[0] # ilk öğeye onun indeksini kullanarak erişiyoruz
print(first_fruit)      # banana
second_fruit = fruits[1]
print(second_fruit)     # orange
last_fruit = fruits[3]
print(last_fruit) # lemon
# Last index
last_index = len(fruits) - 1
last_fruit = fruits[last_index]

Negatif İndeksleme Kullanarak Liste Öğelerine Erişme
Negatif indeksleme sondan başlama anlamına gelir, -1 son öğeyi, -2 ikinci son öğeyi ifade eder.
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
first_fruit = fruits[-4]
last_fruit = fruits[-1]
second_last = fruits[-2]
print(first_fruit)      # banana
print(last_fruit)       # lemon
print(second_last)      # mango

Liste Öğelerini Paketten Çıkarma
Python:
lst = ['item1','item2','item3', 'item4', 'item5']
first_item, second_item, third_item, *rest = lst
print(first_item)     # item1
print(second_item)    # item2
print(third_item)     # item3
print(rest)           # ['item4', 'item5']


Python:
# ilk örnek
fruits = ['banana', 'orange', 'mango', 'lemon','lime','apple']
first_fruit, second_fruit, third_fruit, *rest = fruits
print(first_fruit)     # banana
print(second_fruit)    # orange
print(third_fruit)     # mango
print(rest)           # ['lemon','lime','apple']
# ikinci örnek
first, second, third,*rest, tenth = [1,2,3,4,5,6,7,8,9,10]
print(first)          # 1
print(second)         # 2
print(third)          # 3
print(rest)           # [4,5,6,7,8,9]
print(tenth)          # 10
# üçüncü örnek
countries = ['Germany', 'France','Belgium','Sweden','Denmark','Finland','Norway','Iceland','Estonia']
gr, fr, bg, sw, *scandic, es = countries
print(gr)
print(fr)
print(bg)
print(sw)
print(scandic)
print(es)



Listeden Öğeleri Bölme

Pozitif İndeksleme: Başlangıç, bitiş ve adımı belirterek bir pozitif indeks aralığı belirtebiliriz, dönüş değeri yeni bir liste olacaktır. (başlangıç = 0, bitiş = len(lst) - 1 (son öğe), adım = 1 için varsayılan değerler)
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
all_fruits = fruits[0:4] # tüm meyveleri döndürür
# bu da yukarıdaki ile aynı sonucu verecektir
all_fruits = fruits[0:] # Eğer nerede duracağımızı belirlemezsek, geri kalan her şeyi alır.
orange_and_mango = fruits[1:3] # ilk endeksi içermez
orange_mango_lemon = fruits[1:]
orange_and_lemon = fruits[::2] # burada 3. bir argüman kullandık, adım. Her 2. öğeyi alacaktır - ['banana', 'mango']


Negatif İndeksleme: Başlangıç, bitiş ve adım belirterek bir negatif indeks aralığı belirleyebiliriz, dönüş değeri yeni bir liste olacaktır.
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
all_fruits = fruits[-4:] # tüm meyveleri döndürür
orange_and_mango = fruits[-3:-1] # son indeksi içermez,['orange', 'mango']
orange_mango_lemon = fruits[-3:] # bu -3'ten başlayarak sonuna kadar verecektir,['orange', 'mango', 'lemon']
reverse_fruits = fruits[::-1] # negatif bir adım listeyi ters sırada alacaktır,['lemon', 'mango', 'orange', 'banana']

Listeleri Değiştirme

Liste, değiştirilebilir veya değiştirilebilir sıralı bir öğe koleksiyonudur. Meyve listesini değiştirelim.
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits[0] = 'avocado'
print(fruits)       #  ['avocado', 'orange', 'mango', 'lemon']
fruits[1] = 'apple'
print(fruits)       #  ['avocado', 'apple', 'mango', 'lemon']
last_index = len(fruits) - 1
fruits[last_index] = 'lime'
print(fruits)        #  ['avocado', 'apple', 'mango', 'lime']

Listedeki Öğeleri Kontrol Etme

in
operatörünü kullanarak bir öğenin bir listenin üyesi olup olmadığını kontrol etme. Aşağıdaki örneğe bakınız.


Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
does_exist = 'banana' in fruits
print(does_exist)  # True
does_exist = 'lime' in fruits
print(does_exist)  # False

Listeye Öğeler Ekleme

Mevcut bir listenin sonuna öğe eklemek için append() yöntemini kullanırız.

Python:
# syntax
lst = list()
lst.append(item)

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.append('apple')
print(fruits)           # ['banana', 'orange', 'mango', 'lemon', 'apple']
fruits.append('lime')   # ['banana', 'orange', 'mango', 'lemon', 'apple', 'lime']
print(fruits)

Öğeleri Listeye Ekleme

Bir listede belirtilen bir indekse tek bir öğe eklemek için insert() yöntemini kullanabiliriz. Diğer öğelerin sağa kaydırılacağını unutmayın. insert() metodu iki argüman alır: index ve eklenecek öğe.

Python:
# syntax
lst = ['item1', 'item2']
lst.insert(index, item)

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.insert(2, 'apple') # insert apple between orange and mango
print(fruits)           # ['banana', 'orange', 'apple', 'mango', 'lemon']
fruits.insert(3, 'lime')   # ['banana', 'orange', 'apple', 'lime', 'mango', 'lemon']
print(fruits)

Listeden Öğeleri Kaldırma

remove
yöntemi, belirtilen bir öğeyi listeden kaldırır

Python:
# syntax
lst = ['item1', 'item2']
lst.remove(item)
Python:
fruits = ['banana', 'orange', 'mango', 'lemon', 'banana']
fruits.remove('banana')
print(fruits)  # ['orange', 'mango', 'lemon', 'banana'] - this method removes the first occurrence of the item in the list
fruits.remove('lemon')
print(fruits)  # ['orange', 'mango', 'banana']

Pop Kullanarak Öğeleri Kaldırma

pop()
yöntemi belirtilen dizini (veya dizin belirtilmemişse son öğeyi) kaldırır:

Python:
# syntax
lst = ['item1', 'item2']
lst.pop()       # sonraki item
lst.pop(index)
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.pop()
print(fruits)       # ['banana', 'orange', 'mango']

fruits.pop(0)
print(fruits)       # ['orange', 'mango']


Del Kullanarak Öğeleri Kaldırma

del
anahtar sözcüğü belirtilen dizini kaldırır ve dizin aralığındaki öğeleri silmek için de kullanılabilir. Ayrıca listeyi tamamen silebilir

Python:
# syntax
lst = ['item1', 'item2']
del lst[index] # sadece tek bir öğe
del lst        # listeyi tamamen silmek için

Python:
fruits = ['banana', 'orange', 'mango', 'lemon', 'kiwi', 'lime']
del fruits[0]
print(fruits)       # ['orange', 'mango', 'lemon', 'kiwi', 'lime']
del fruits[1]
print(fruits)       # ['orange', 'lemon', 'kiwi', 'lime']
del fruits[1:3]     # bu, verilen indeksler arasındaki öğeleri siler, bu nedenle 3. indekse sahip öğeyi silmez!
print(fruits)       # ['orange', 'lime']
del fruits
print(fruits)       # Bu sonucu verecektir: NameError: name 'fruits' is not defined


Liste Öğelerini Temizleme

clear()
yöntemi listeyi boşaltır:

Python:
# syntax
lst = ['item1', 'item2']
lst.clear()
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.clear()
print(fruits)       # []

Liste Kopyalama

Bir listeyi aşağıdaki şekilde yeni bir değişkene yeniden atayarak kopyalamak mümkündür: liste2 = liste1. Şimdi, liste2 liste1'in bir referansıdır, liste2'de yaptığımız herhangi bir değişiklik orijinal liste1'i de değiştirecektir. Ancak, orijinali değiştirmek istemediğimiz, bunun yerine farklı bir kopyaya sahip olmak istediğimiz birçok durum vardır. Yukarıdaki sorundan kaçınmanın bir yolu copy() kullanmaktır.

Python:
# syntax
lst = ['item1', 'item2']
lst_copy = lst.copy()
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits_copy = fruits.copy()
print(fruits_copy)       # ['banana', 'orange', 'mango', 'lemon']


Listelere Katılma

Python'da iki veya daha fazla listeyi birleştirmenin veya bir araya getirmenin birkaç yolu vardır.

Artı Operatörü (+)
Python:
# syntax
list3 = list1 + list2
Python:
positive_numbers = [1, 2, 3, 4, 5]
zero = [0]
negative_numbers = [-5,-4,-3,-2,-1]
integers = negative_numbers + zero + positive_numbers
print(integers) # [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
fruits = ['banana', 'orange', 'mango', 'lemon']
vegetables = ['Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
fruits_and_vegetables = fruits + vegetables
print(fruits_and_vegetables ) # ['banana', 'orange', 'mango', 'lemon', 'Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']



extend() yöntemini kullanarak birleştirme extend() yöntemi bir listeye liste eklemeyi sağlar. Aşağıdaki örneğe bakın.
Python:
# syntax
list1 = ['item1', 'item2']
list2 = ['item3', 'item4', 'item5']
list1.extend(list2)

Python:
num1 = [0, 1, 2, 3]
num2= [4, 5, 6]
num1.extend(num2)
print('Numbers:', num1) # Numbers: [0, 1, 2, 3, 4, 5, 6]
negative_numbers = [-5,-4,-3,-2,-1]
positive_numbers = [1, 2, 3,4,5]
zero = [0]

negative_numbers.extend(zero)
negative_numbers.extend(positive_numbers)
print('Integers:', negative_numbers) # Integers: [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
fruits = ['banana', 'orange', 'mango', 'lemon']
vegetables = ['Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
fruits.extend(vegetables)
print('Fruits and vegetables:', fruits ) # Fruits and vegetables: ['banana', 'orange', 'mango', 'lemon', 'Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']


Listedeki Öğeleri Sayma
count()
yöntemi, bir öğenin listede kaç kez göründüğünü döndürür:
Python:
# syntax
lst = ['item1', 'item2']
lst.count(item)

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
print(fruits.count('orange'))   # 1
ages = [22, 19, 24, 25, 26, 24, 25, 24]
print(ages.count(24))           # 3

Bir Öğenin Dizinini Bulma

index()
yöntemi, listedeki bir öğenin indeksini döndürür:

Python:
# syntax
lst = ['item1', 'item2']
lst.index(item)

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
print(fruits.index('orange'))   # 1
ages = [22, 19, 24, 25, 26, 24, 25, 24]
print(ages.index(24))           # 2, ilk oluşum

Listeyi Tersine Çevirme

reverse()
yöntemi bir listenin sırasını tersine çevirir.
Python:
# syntax
lst = ['item1', 'item2']
lst.reverse()

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.reverse()
print(fruits) # ['lemon', 'mango', 'orange', 'banana']
ages = [22, 19, 24, 25, 26, 24, 25, 24]
ages.reverse()
print(ages) # [24, 25, 24, 26, 25, 24, 19, 22]


Liste Öğelerini Sıralama

Listeleri sıralamak için sort() metodunu veya sorted() yerleşik fonksiyonlarını kullanabiliriz. sort() yöntemi liste öğelerini artan sırada yeniden sıralar ve orijinal listeyi değiştirir. sort() yönteminin bir argümanı reverse true değerine eşitse, listeyi azalan sırada düzenler.

sort(): bu yöntem orijinal listeyi değiştirir
Python:
# syntax
lst = ['item1', 'item2']
lst.sort()                # artan
lst.sort(reverse=True)    # azalan

Örnek:

Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.sort()
print(fruits)             # alfabetik sıraya göre sıralanmıştır, ['banana', 'lemon', 'mango', 'orange']
fruits.sort(reverse=True)
print(fruits) # ['orange', 'mango', 'lemon', 'banana']
ages = [22, 19, 24, 25, 26, 24, 25, 24]
ages.sort()
print(ages) #  [19, 22, 24, 24, 24, 25, 25, 26]

ages.sort(reverse=True)
print(ages) #  [26, 25, 25, 24, 24, 24, 22, 19]

sorted(): orijinal listeyi değiştirmeden sıralı listeyi döndürür Örnek:
Python:
fruits = ['banana', 'orange', 'mango', 'lemon']
print(sorted(fruits))   # ['banana', 'lemon', 'mango', 'orange']
# Ters sıra
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits = sorted(fruits,reverse=True)
print(fruits)     # ['orange', 'mango', 'lemon', 'banana']
 
Geri
Üst