Soru Python sözlükte arama

Bu konuyu okuyanlar

Toki4182

Asistan
Katılım
18 Temmuz 2021
Mesajlar
142
Reaksiyon puanı
70
Puanları
28
Yaş
22
Kod:
otomobillerr = {
    1:{
        'marka':'Opel',
        'model':'Astra',
        'üretim': 2015,
        'renk': 'Siyah',
        'fiyat': 150000
    },
    2:{
        'marka':'Renault',
        'model':'Clio',
        'üretim': 2012,
        'renk': 'Gümüş gri',
        'fiyat': 105000
    },
    3:{
        'marka':'Renault',
        'model':'Symbol',
        'üretim':2015,
        'renk':'Beyaz',
        'fiyat': 135000
    }
}

Selamün Aleyküm,
bu sözlükte birşey aklıma takıldı nasıl yapılır diye düşünüyorum.
Girdi olarak Ren, Rena, Re... gibi eksik yazınca bu şekilde başlayan tüm grupları çıktı vermesini nasıl sağlarım.
Önceden bu tarz bişey yapmıştım ama bu sefer beceremedim. O yaptığımı da bulamadım.
 

Ben Kenobi

Dekan
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Dictionary kullanmanın asıl faydası döngü ile yapacağın On hızındaki işlemleri binary tree'ye çevirip O1 yahut Ologn seviyesine indirmesi.
Bu bağlamda senin verinin keyleri hiçbir işe yaramıyor, keylerin marka olması içerisinde set olarak verilerin bulunması sana en yüksek performansı verecektir.

Sorunun cevabı ise
Python:
for otomobil in otomobiller:
    if 'Rena' in otomobil.marka: # Rena markanın herhangi bir yerinde olabilir misal SuperRenault da buna uyar
        print(otomobil)

Python:
for otomobil in otomobiller:
    if otomobil.marka.startswith('Rena'): # Rena markanın başında olmalı
        print(otomobil)
 
Üst