Bu sayfada · 12 başlık
Bir alışveriş sepetindeki ürünler ve bir kişinin profil bilgileri aynı yapıda olmak zorunda değildir. Listeler sıralı öğeleri, sözlükler anahtar-değer ilişkilerini tutmak için kullanışlıdır. Doğru yapıyı seçmek, veriyi anlamayı ve daha sonra değiştirmeyi kolaylaştırır.
Önce neyi çözmek istediğini belirle
Aynı örnekte listeyi döngüyle gezip sözlükteki alanlara adlarıyla erişeceğiz. Sonunda ürün fiyatlarından toplam çıkararak veri yapısının pratik amacını göreceğiz.
Adım adım uygula
- 1 Verinin sorusunu sor. “Kaçıncı öğe?” diyorsan listeyi, “Bu alanın değeri ne?” diyorsan sözlüğü düşün. Sıralama ile alan adı farklı erişim biçimleridir.
- 2 Küçük bir yapı kur. Önce üç elemanlı liste veya üç alanlı sözlükle dene. Eksik anahtar için get ile varsayılan değer döndürmeyi öğren.
- 3 Birlikte kullan. Birden fazla ürün için sözlüklerden oluşan liste kullanabilirsin. Her üründe ad ve fiyat alanlarının tutarlı olmasına dikkat et.
Küçük bir örnek
urunler = [{"ad": "Defter", "fiyat": 30}, {"ad": "Kalem", "fiyat": 10}]
for urun in urunler:
print(urun["ad"], urun["fiyat"])
print(sum(urun["fiyat"] for urun in urunler))
Sık takılınan nokta
Liste indeksi ile sözlük anahtarını karıştırmak yaygındır. urunler["ad"] yerine önce bir öğeyi seçmen gerekir. get kullanmak her eksik veriyi gizlemesin; zorunlu alanların yokluğunu ayrıca bildir.
Şimdi kendin dene
Ürün listesine üçüncü bir ürün ekle. En pahalı ürünün adını bul; ardından bir üründen fiyat alanını kaldır ve programın nasıl davranacağını tasarla.
Bir sonraki adım Python’da değişken, döngü ve liste dersleri →Sık Karşılaşılan Hatalar, Nedenleri ve Hızlı Çözüm Tablosu
Python’da liste mi sözlük mü? Seçim ve kopyalama örnekleri konusunu kendi projende uygularken en sık karşılaşılan durumları ve çözüm adımlarını aşağıdaki tabloda bulabilirsin:
| Belirti / Sorun | Temel Nedeni | Nasıl Teşhis Edilir? | Kesin Çözüm |
|---|---|---|---|
| Değişiklik ekrana yansımıyor | Dosya kaydedilmemiş veya tarayıcı eski önbelleği gösteriyor | Editörde dosya adının yanında nokta işareti var mı bak | Ctrl+S / Cmd+S ile kaydet ve Ctrl+F5 ile yenile |
| Büyük/küçük harf veya yol hatası | Dosya adı, seçici (`id`/`class`) veya değişken adı birebir eşleşmiyor | Konsol (F12) veya terminaldeki satır numarasını kontrol et | Türkçe karakter ve boşluk içermeyen küçük harfli adlandırma kullan |
| Tür veya Boş Değer (`null`/`None`) Hatası | Henüz oluşmamış bir HTML elemanına veya metin (`string`) tipindeki sayıya işlem yapmak | console.log(typeof x) veya print(type(x)) ile türü yazdır |
İşlem öncesi değerin varlığını (`if`) ve tür dönüşümünü (`Number`/`int`) doğrula |
| Ortam / Paket Uyuşmazlığı | Terminalde farklı bir klasörde veya sanal ortam dışındayken komut çalıştırmak | pwd (veya cd) ve which python ile konumu gör |
Proje kök klasöründe doğru sanal ortamı etkinleştirerek çalıştır |
Adım Adım Hata Ayıklama (Debugging) ve Temiz Kod Kontrol Listesi
- 1. Sorunu En Küçük Örnekte İzole Et: 200 satırlık kodda hata aramak yerine, yalnızca takıldığın satırı 5-10 satırlık küçük bir deneme alanında (Tarayıcıda Kod Dene sayfasında) tek başına çalıştır.
- 2. Varsayma, Konsola Yazdır: "Bu değişkenin içinde kesin 10 vardır" diye düşünmek yerine, işlemden hemen önce değişkenin değerini ve tipini ekrana yazdırarak gözünle doğrula.
- 3. Tek Seferde Tek Değişiklik Yap: Aynı anda hem HTML yapısını, hem CSS sınıfını hem de JavaScript fonksiyonunu değiştirirsen sorunun hangisinden kaynaklandığını bulamazsın.
- 4. Sınır Değerleri Test Et: Kodun normal bir girdide çalıştığında hemen bırakma; boş girdi (`""`), sıfır (`0`) veya beklenmeyen bir değer girildiğinde nasıl davrandığını da kontrol et.
Sıkça Sorulan Sorular (SSS)
Hata mesajları İngilizce olduğu için anlamakta zorlanıyorum, ne yapmalıyım? +
Hata mesajının tamamını ezberlemene gerek yoktur; yalnızca üç bilgiye odaklan: 1) Dosya adı ve satır numarası, 2) Hatanın türü (ör. SyntaxError, TypeError), 3) En sondaki kısa açıklama. Webino App'in 52 Yazılım Hatası ve Çözümü sözlüğünden Türkçe karşılıklarına anında bakabilirsin.
Bilgisayarıma program kurmadan bu örnekleri hemen deneyebilir miyim? +
Evet. Sol menüdeki Tarayıcıda Kod Dene laboratuvarını kullanarak HTML/CSS, JavaScript, Python ve SQL kodlarını hiçbir kurulum yapmadan doğrudan tarayıcında çalıştırabilirsin.
Kaynak ve devamı
Webino App denemesi: Atama ile yüzeysel kopyayı karşılaştırdık
İki küçük programda ikinci değişken üzerinden öğe ekledik ve ilk listenin sonucunu karşılaştırdık. Yüzeysel kopya iç içe nesneleri derin kopyalamaz; örnekte yalnızca sayılardan oluşan tek seviyeli liste kullanıldı.
Yayın: · Güncelleme:
Yazan
Webino App Ekibi
Teknolojiyi sade Türkçeyle anlatan rehberler. Örnekleri kendin deneyebilir, bağlantılı resmi belgelerle konuyu derinleştirebilirsin.
Bunları da okuyabilirsin
Tüm yazılar →Yorumlar
Soruların ya da eklemek istediklerin varsa yaz.
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.


