5 - Listeler ve Demetler
2024
[] ) ile tanımlanırlar.Örnekler:
alisveris_listesi = ["elma", "ekmek", "süt", "yumurta"]ogrenciler = ["Ahmet", "Mehmet", "Ayşe"]menü = ["Anasayfa", "Hakkımızda", "İletişim"]sayilar = [1, 5, 3, 9, 7]
print(sayilar[0]) # Çıktı: 1 (İlk eleman)
print(sayilar[2]) # Çıktı: 3
print(sayilar[-1]) # Çıktı: 7 (Son eleman)
print(sayilar[1:4]) # Çıktı: [5, 3, 9] (1. indeksten 4. indekse kadar (4 hariç))
print(sayilar[:3]) # Çıktı: [1, 5, 3] (Baştan 3. indekse kadar (3 hariç))
print(sayilar[2:]) # Çıktı: [3, 9, 7] (2. indeksten sona kadar)in ve not in Operatörleriin: Bir elemanın listede olup olmadığını kontrol eder.not in: Bir elemanın listede olup olmadığını kontrol eder.append(eleman): Listenin sonuna yeni bir eleman ekler.insert(indeks, eleman): Belirtilen indekse yeni bir eleman ekler.remove(eleman): İlk bulunan elemanı listeden siler.ValueError hatası verir.pop(indeks): Belirtilen indeksteki elemanı listeden çıkarır ve döndürür.index(eleman): Belirtilen elemanın ilk bulunduğu indeksi döndürür.ValueError hatası verir.count(eleman): Belirtilen elemanın listede kaç kez geçtiğini döndürür.sort(): Listeyi artan sırada sıralar.sort() metodu listeyi kalıcı olarak değiştirir.reverse=True parametresi ile azalan sırada sıralanabilir.reverse(): Listenin elemanlarını tersine çevirir.reverse() metodu da listeyi kalıcı olarak değiştirir.copy() metodu veya dilimleme ile listenin bir kopyasını oluşturabiliriz.join() Metodu: Liste Elemanlarını Birleştirmejoin() metodu, bir string’i ayraç olarak kullanarak listedeki string elemanlarını birleştirir ve tek bir string döndürür.extend() Metodu: Listeleri Birleştirmeextend() metodu, bir listenin sonuna başka bir listenin elemanlarını ekler.+ operatörü ile iki listeyi birleştirebiliriz.()) ile tanımlanırlar.Örnek:
koordinat = (10, 20)renk = (255, 0, 0) (Kırmızı)in ve not in Operatörleriin: Bir elemanın demette olup olmadığını kontrol eder.not in: Bir elemanın demette olup olmadığını kontrol eder.count(eleman): Belirtilen elemanın demette kaç kez geçtiğini döndürür.
index(eleman): Belirtilen elemanın demetteki ilk bulunduğu indeksi döndürür. Eğer eleman demette yoksa, ValueError hatası verir.
len(demet): Demetin uzunluğunu (eleman sayısını) döndürür.max(demet): Demetin en büyük elemanını döndürür (elemanlar karşılaştırılabilir olmalıdır).min(demet): Demetin en küçük elemanını döndürür (elemanlar karşılaştırılabilir olmalıdır).Bir mağazanın envanter verilerini, her biri (ürün_kodu, ürün_adı, stok_miktarı) bilgilerini içeren demetlerden (tuple) oluşan bir listede tutuyorsunuz.
Başlangıç Verisi:
Problem:
Demetler “değiştirilemez” (immutable) yapıdadır. Yani, envanter[0][2] = 55 gibi bir kodla ’Klavye’nin stoğunu doğrudan güncelleyemezsiniz, bu bir TypeError hatası verecektir.
Görev:
Kullanıcıdan güncellenmek istenen bir ürün_kodu ve bu ürün için yeni stok_miktarını alan bir program yazın.
Programınız, envanter listesi içinde bu ürün_kodunu bulmalı ve demetin değiştirilemezlik kuralını aşmak için, listenin ilgili indeksindeki eski demeti tamamen kaldırıp, yerine bilgileri güncellenmiş yeni bir demet koymalıdır.
İstenenler:
ürün_kodu (örn: ‘1002’) isteyin.stok_miktarını (örn: 80) isteyin.envanter listesini döngü ile gezin.ürün_kodunu bulduğunuzda, o ürünün ürün_adını ve yeni stok_miktarını kullanarak yeni bir demet oluşturun (örn: ('1002', 'Mouse', 80)).pop/insert metotları ipucu olabilir, ancak en basiti liste[indeks] = yeni_değer atamasıdır).ürün_kodu listede bulunamazsa, “Hata: Ürün kodu bulunamadı.” mesajı verin.envanter listesinin tamamını ekrana basın.