Python'da Alt Dizileri Kontrol Etme: 'contains' ve 'indexOf' alternatifleri

Python'da Alt Dizileri Kontrol Etme: 'contains' ve 'indexOf' alternatifleri
Python

Python'da String Yöntemlerini Anlamak

Python programcılarının genellikle bir dize içinde bir alt dizenin olup olmadığını kontrol etmeleri gerekir. Birçok dil 'contains' veya 'indexOf' gibi yöntemler sunarken, Python'un bu ortak gereksinimi karşılamanın kendi yöntemi vardır. Bu makalede Python'da alt dize kontrollerini verimli bir şekilde nasıl gerçekleştirebileceğinizi keşfedeceğiz.

İster Python'da yeni olun ister başka bir programlama diline geçiş yapıyor olun, bu yöntemleri anlamak çok önemlidir. Temiz ve etkili Python kodu yazabilmenizi sağlamak için örnekler sunacağız ve alt dizeleri kontrol etmeye yönelik en iyi uygulamaları açıklayacağız.

Emretmek Tanım
in Bir ana dize içinde bir alt dizenin olup olmadığını kontrol eder ve True veya False değerini döndürür.
find Alt dizenin bulunduğu dizedeki en düşük dizini döndürür; Bulunamazsa -1 değerini döndürür.
def Yalnızca çağrıldığında çalışan bir kod fonksiyon bloğunu tanımlar.
for Bir dizi (liste, demet, sözlük, küme veya dize gibi) üzerinde döngü yapmak için kullanılır.
if not Koşul Yanlışsa kodu çalıştıran koşullu ifade.
continue Yalnızca geçerli yineleme için döngü içindeki kodun geri kalanını atlar ve ardından bir sonraki yinelemeyle devam eder.

Python'da Alt Dize Kontrollerini Anlamak

Sağlanan komut dosyaları Python'da alt dizelerin iki farklı yöntem kullanılarak nasıl kontrol edileceğini gösterir: in anahtar kelime ve find yöntem. İlk komut dosyası bir işlevi tanımlar, contains_substring, bu iki argüman alır: main_string Ve substring. Geri dönüyor True Eğer substring içinde mevcut main_string Ve False aksi takdirde. Bu, aşağıdakiler kullanılarak elde edilir: in Python'da alt dize kontrolleri gerçekleştirmenin basit ve etkili bir yolu olan anahtar kelime. Betik daha sonra bir dize listesi üzerinde yinelenir. for döngü ve eğer substring geçerli dizede bulunamazsa, şunu kullanır: continue bir sonraki yinelemeye atlamak için kullanılan ifade.

İkinci senaryo da benzer bir yaklaşım kullanıyor ancak find bunun yerine yöntem. İşlev contains_substring_with_find olup olmadığını kontrol eder substring içinde mevcut main_string geri dönerek True Eğer find yöntem geri dönmüyor -1. find yöntem aramaları substring ve bulunduğu en düşük endeksi döndürür veya -1 eğer bulunamazsa. Bu yöntem, konumun konumuna ihtiyacınız varsa daha fazla kontrol sağlar. substringancak basit bir kontrol için in anahtar kelime daha basittir. Her iki komut dosyası da alt dizelerin nasıl verimli bir şekilde kontrol edileceğini ve alt dizenin bulunmadığı durumların nasıl ele alınacağını göstererek temiz ve okunabilir Python kodunu sağlar.

Python'da Alt Dizeler Nasıl Kontrol Edilir

'in' Anahtar Kelimesini Kullanan Python Komut Dosyası Örneği

def contains_substring(main_string, substring):
    return substring in main_string

strings_to_check = ["hello world", "Python programming", "substring search"]
substring = "Python"

for string in strings_to_check:
    if not contains_substring(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Python'un 'find' Yöntemini Kullanarak Alt Dizileri Bulma

'Find' Yöntemini Kullanan Python Komut Dosyası Örneği

def contains_substring_with_find(main_string, substring):
    return main_string.find(substring) != -1

strings_to_check = ["example string", "testing find method", "no match here"]
substring = "find"

for string in strings_to_check:
    if not contains_substring_with_find(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Python'da Alternatif Dize Yöntemlerini Keşfetmek

Buna ek olarak in anahtar kelime ve find yönteminin yanı sıra Python, alt dizeleri kontrol etmek için yararlı olabilecek başka dize yöntemleri de sunar. Böyle bir yöntem count, bir dizedeki bir alt dizenin çakışmayan oluşum sayısını döndürür. Doğrudan bir alternatif olmasa da contains veya indexOf, sayının sıfırdan büyük olup olmadığını kontrol ederek bir alt dizenin var olup olmadığını belirlemek için kullanılabilir. Başka bir yöntem ise startswith, bir dizenin belirtilen bir alt dizeyle başlayıp başlamadığını kontrol eder. Bu yöntem özellikle, bir URL'nin 'http' ile başlayıp başlamadığını kontrol etmek gibi dizelerdeki önekleri doğrulamanız gerektiğinde kullanışlıdır.

Benzer şekilde, endswith yöntem, bir dizenin belirtilen bir alt dizeyle bitip bitmediğini kontrol eder. Bu, dosya uzantılarını veya diğer son ekleri doğrulamak için faydalıdır. Python ayrıca şunları sağlar: re Düzenli ifadeler kullanarak daha gelişmiş alt dize aramaları için modül. re.search işlevi, dizeler içinde kalıp eşleştirmeye izin vererek karmaşık alt dizeleri bulmanın güçlü bir yolunu sağlar. Düzenli ifadelerin yazılması ve anlaşılması daha karmaşık olsa da, karmaşık alt dize aramaları için esneklik ve güç sunarlar. Bu alternatif yöntemler, Python programcılarına alt dize kontrollerini gerçekleştirmek, farklı ihtiyaçlara ve kullanım durumlarına yanıt vermek için çeşitli araçlar sağlar.

Python'da Alt Dize Yöntemleri Hakkında Sık Sorulan Sorular

  1. Python'da bir dizenin alt dize içerip içermediğini nasıl kontrol edebilirim?
  2. Şunu kullanabilirsiniz: in anahtar kelime veya find Bir dizenin bir alt dize içerip içermediğini kontrol etme yöntemi.
  3. Arasındaki fark nedir find Ve index yöntemler?
  4. find alt dize bulunamazsa yöntem -1 değerini döndürür; oysa index yöntem bir ValueError yükseltir.
  5. Python'da alt dize kontrolleri için normal ifadeler kullanabilir miyim?
  6. Evet, kullanabilirsiniz re.search işlevi re Gelişmiş alt dize aramaları için modül.
  7. Bir dizenin belirli bir alt dizeyle başlayıp başlamadığını nasıl kontrol ederim?
  8. Şunu kullanabilirsiniz: startswith Bir dizenin belirli bir alt dizeyle başlayıp başlamadığını kontrol etme yöntemi.
  9. Bir dizenin belirli bir alt dizeyle bitip bitmediğini kontrol etmek için hangi yöntemi kullanabilirim?
  10. endswith yöntemi, bir dizenin belirli bir alt dizeyle bitip bitmediğini kontrol etmek için kullanılabilir.
  11. Bir dizede bir alt dizenin oluşumlarını saymak için bir yöntem var mı?
  12. Evet count yöntemi, bir dizedeki bir alt dizenin çakışmayan oluşum sayısını döndürür.
  13. Alt dizenin bulunmadığı durumları nasıl halledebilirim?
  14. Bir kullanabilirsiniz if ile beyan not veya olup olmadığını kontrol edin find alt dizenin bulunmadığı durumları işlemek için -1 değerini döndürür.
  15. Bu yöntemler arasında performans farklılıkları var mı?
  16. Evet, gibi yöntemler in Ve startswith basit kontroller için genellikle daha hızlıdır, düzenli ifadeler ise daha yavaş ama daha güçlü olabilir.

Python'da Alt Dizi Yöntemleri Üzerine Son Düşünceler

Python'un bir özelliği yok contains veya indexOf diğer bazı diller gibi bir yöntem. Ancak alt dizeleri kontrol etmek için çeşitli yollar sağlar; in anahtar kelime, find yöntem ve düzenli ifadeler. Her yöntemin kendine özgü avantajları vardır ve bu da özel ihtiyaçlarınıza göre doğru yöntemin seçilmesini önemli kılar. Bu tekniklerde uzmanlaşarak alt dize kontrollerini verimli bir şekilde gerçekleştirebilir ve temiz, etkili Python kodu yazabilirsiniz.