Yalnızca Değeri Değil, İndeksi de Bulma
enumerate ile konumları izleyin.
Yalnızca Değeri Değil, İndeksi de Bulma, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.
Konumlar Önemlidir
Çoğu zaman yanıt değer değil, onun nerede bulunduğudur. Yarışma problemleri sık sık 1 tabanlı veya 0 tabanlı bir dizin ister; bu nedenle konumları izleyin.
a = [4, 1, 7, 3].index() ile Bulun
a.index(x) ilk eşleşmenin konumunu döndürür. Yazması kolaydır ancak soldan sağa O(n) zamanda tarama yapar.
pos = a.index(7) # 2Eksik Değerler Hata Oluşturur
Değer yoksa .index() bir ValueError oluşturarak çalışma zamanında çöker. Emin olmadığınızda önce üyeliği kontrol edin.
if x in a:
pos = a.index(x)enumerate ile Döngü Kurun
enumerate her adımda dizini ve değeri birlikte verir; tarama sırasında konumları izlemek için en temiz yöntem budur.
for i, v in enumerate(a):
print(i, v)enumerate İşlemine Birden Başlayın
Birçok değerlendirici 1 tabanlı konumlar ister. İlk dizinin 1 olması ve problem metniyle eşleşmesi için enumerate çağrısına start=1 verin.
for i, v in enumerate(a, start=1):
...En Büyük Değerin Dizini
En büyüğün nerede olduğunu bulmak için tarama yapıp en iyi dizini hatırlayın; çünkü tek başına max(a) yalnızca değeri verir.
best = 0
for i, v in enumerate(a):
if v > a[best]:
best = iŞık bir argmax
Kısa bir teknik kullanabilirsiniz: her dizini kendi değeriyle eşleştirin ve değere göre max seçin. range konumu doğrudan verir.
best = max(range(len(a)), key=lambda i: a[i])Eşleşen Tüm Dizinleri Toplayın
Bir değerin her konumuna mı ihtiyacınız var? enumerate üzerinde bir liste üreteci kullanarak tüm eşleşmeleri tek satırda toplayın.
idx = [i for i, v in enumerate(a) if v == 7]Değeri Dizine Eşleyin
Tekrarlanan aramalar için bir kez değerden dizine bir sözlük oluşturun; böylece sonraki her arama O(1) zamanda sonuçlanır.
where = {v: i for i, v in enumerate(a)}Yinelenen Değerlerde Dikkatli Olun
Değerden dizine oluşturulan sözlük yalnızca son oluşumu tutar. Yinelenenler önemliyse her anahtar için bir liste veya enumerate kullanın.
where = {}
for i, v in enumerate(a):
where.setdefault(v, []).append(i)Dizin Tabanları Arasında Dönüşüm Yapın
Tabana dikkat edin: 0 tabanlı olarak sakladığınız bir değeri 1 tabanlı yazdırmanız gerekiyorsa bir ekleyin. Tabanları karıştırmak, fark edilmesi zor bir yanlış yanıt tuzağıdır.
print(pos + 1) # 0-based to 1-basedHızlı Kontrol
Döngü kurarken 1 tabanlı konumlar istiyorsunuz. Ne yazarsınız?
Özet: Konumları İzleyin
Artık tek bir dizini, en büyük dizini ve tüm dizinleri bulabilir; değerleri güvenle konumlara eşleyebilirsiniz. enumerate, güvenilir konum izleyicinizdir. 🎯
Yapay zeka eğitmeniyle Coding Interview Prep öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 90
- Dersler
- 360
Sıkça Sorulan Sorular
“Yalnızca Değeri Değil, İndeksi de Bulma” dersi ücretsiz mi?
Evet — “Yalnızca Değeri Değil, İndeksi de Bulma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.
“Yalnızca Değeri Değil, İndeksi de Bulma” dersinde ne öğreneceğim?
enumerate ile konumları izleyin. Coding Interview Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Yalnızca Değeri Değil, İndeksi de Bulma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Coding Interview Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- CP için Listeler, İndeksleme ve Dilimleme
- Liste Kavramalarıyla Dizileri Hızla Oluşturma
- Min, Max, Sum ve Birikimli Toplamlar
- Yalnızca Değeri Değil, İndeksi de Bulma