Veri yapıları ve fonksiyonlar
Listeler, sözlükler, kümeler ve fonksiyonlar.
Seviye 101 · 17 ders · 15 pratik lab
Dersler
Sıralı veriler
- Listeler: Sıralı bir veri koleksiyonu olan listeleri oluşturmayı, eleman eklemeyi, silmeyi ve gezmeyi öğrenirsin.
- Liste yöntemleri ve kopyalama tuzakları
- Demetler: Sonradan değiştirilemeyen demetlerin ne zaman listeden daha uygun olduğunu anlarsın.
- Açma ve yıldızlı atama
- Kısa görev: komut satırında yapılacaklar listesi
Kümeler ve sözlükler
- Kümeler: Tekrar eden elemanı otomatik eleyen kümeleri ve iki küme arasındaki ortak ya da farklı elemanları bulmayı öğrenirsin.
- Sözlükler: Bilgiyi anahtar ve değer çiftleriyle saklayan sözlükleri kurup içinden veri okumayı ve güncellemeyi öğrenirsin.
- Sözlük görünümleri, birleştirme ve get ile güvenli erişim
- collections: Counter, defaultdict, deque ve namedtuple
- Liste ve sözlük kapsamaları: Liste ve sözlükleri tek satırda kısa ve okunaklı biçimde üretmeyi öğrenirsin.
- Kısa görev: bir metindeki en sık sözcükler
İç içe veri ve seçim
- İç içe veri yapıları: Liste ve sözlükleri iç içe koyarak gerçek veriye benzeyen yapıları kurmayı ve içlerinde gezmeyi öğrenirsin.
- JSON ve YAML: JSON ve YAML biçimindeki yapılandırma verilerini Python'da okumayı ve yazmayı öğrenirsin.
- Sıralama ve arama: Veriyi sıralamayı ve içinde belirli bir öğeyi hızlıca bulmayı öğrenirsin.
- Doğru yapıyı seçmek: hız, bellek ve okunurluk
- Kısa görev: kullanıcı ve grup listesini birleştir
Bitirme
- Bitirme görevi: envanter yöneticisi: Kurgusal bir şirketin cihaz envanterini listelerle ve sözlüklerle tutan, ekleme ve arama yapabilen küçük bir program yazarsın.
Pratik lablar
- Başlık ve satırlardan kayıt sözlükleri kurmak: Başlık listesi ile satır listelerini zip ile sözlüklere çevir; kısa satırlarda eksik alanı None yap, fazla alanı at.
- En yüksek beş puanı ayırmak: Puan listesini sıralayıp dilimleyerek en yüksek ve en düşük beş puanı döndüren fonksiyonu yaz; liste beşten kısaysa da çalışsın.
- Sığ kopya hatasını bulmak: Şablon tablodan kopyalanan iç içe listelerin birlikte değiştiği hatayı bul ve derin kopyayla düzelt; testler şablonun bozulmadığını doğrular.
- Kayıtları yıldızlı atamayla ayrıştırmak: Değişken sayıda alan içeren sevkiyat satırlarını demet açma ve yıldızlı atamayla ilk, son ve ara alanlara ayıran fonksiyonu yaz; eksik alanlı satırları reddet.
- İki sınıfın ortak öğrencilerini bulmak: Küme işlemleriyle iki listede ortak olan, yalnızca birinde bulunan ve toplam benzersiz öğrencileri döndüren fonksiyonu yaz.
- Varsayılan ve kullanıcı ayarlarını birleştirmek: | işleci ve get ile varsayılan ayarları kullanıcı ayarlarıyla birleştiren ve bilinmeyen anahtarları raporlayan fonksiyonu yaz.
- Sözlüğü üreteçle tersine çevirmek: Personel-departman sözlüğünü departman başına sıralı personel listesine çeviren fonksiyonu sözlük ve liste üreteçleriyle yaz.
- Yetki farklarını kümelerle bulmak: Çınaraltı Kütüphanesi'nin dünkü ve bugünkü kullanıcı-yetki sözlüklerinden eklenen, kaldırılan ve değişen yetkileri çıkaran fonksiyonu yaz ve rastgele verili testleri geçir.
- Oyları Counter ile saymak: Anket yanıtlarını Counter ile sayıp en çok oy alan üç seçeneği eşitlik durumunda alfabetik sırayla döndüren fonksiyonu yaz.
- Siparişleri müşteriye göre gruplamak: Kestane Market'in sipariş listesini defaultdict ile müşteri başına toplam tutar ve sipariş sayısına dönüştüren fonksiyonu yaz.
- deque ile kayan ortalama hesaplamak: Sensör ölçümlerinin son N değerinin ortalamasını deque(maxlen) ile her adımda sabit sürede güncelleyen sınıfı yaz ve büyük rastgele akışlarla testleri geçir.
- Satırları namedtuple nesnelerine çevirmek: Uçuş tablosu satırlarını namedtuple'a çevirip geciken uçuşları süreye göre sıralayan, eksik ya da hatalı satırları ayrı listede döndüren fonksiyonu yaz.
- İç içe ayarda değeri güvenle okumak: 'db.primary.port' gibi noktalı bir yolu iç içe sözlükte izleyen ve eksik anahtarda varsayılan değer döndüren fonksiyonu yaz.
- JSON kayıtlarını çok anahtarla sıralamak: JSON'dan okunan personel kayıtlarını departmana göre artan, kıdeme göre azalan sırada sıralayan fonksiyonu yaz; kıdem alanı eksik kayıtlar sıfır sayılsın ve eşitlikte ada göre sıralansın.
- Liste aramasını kümeyle hızlandırmak: On binlerce kayıtta yasaklı IP listesinde arama yapan yavaş döngüyü uygun veri yapısıyla hızlandır; testler hem doğruluğu hem süre sınırını denetler.
Kurs hakkında
Listeler, sözlükler, kümeler ve fonksiyonlar.
Ne öğreneceksin
- Sıralı veriler
- Kümeler ve sözlükler
- İç içe veri ve seçim
- Bitirme
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.