Python len() Fonksiyonu: Dizenin uzunluğu nasıl bulunur?

⚡ Akıllı Özet

Python `len()` fonksiyonu, bir dizedeki karakterler veya bir liste, demet, sözlük veya kümedeki öğeler gibi bir nesnedeki öğe sayısını döndüren yerleşik bir fonksiyondur.

  • 🔢 Sözdizimi: len(object) tek bir argüman alır ve içerdiği toplam eleman sayısını gösteren bir tamsayı döndürür.
  • 🔠 Teller: Bir dize için, len() fonksiyonu boşluklar, rakamlar ve noktalama işaretleri de dahil olmak üzere her karakteri sayar.
  • ???? Koleksiyonlar: len() fonksiyonu, listelerin, demetlerin, sözlüklerin, kümelerin ve aralık nesnelerinin boyutunu aynı şekilde ölçer.
  • ⚙️ Performans: len() fonksiyonu sabit O(1) sürede çalışır çünkü Python Her nesnenin uzunluğunu bir özellik olarak saklar.
  • ???? TipHatası: Bir tamsayı veya None üzerinde len() fonksiyonunu çağırmak, bu türlerin uzunluğu olmadığı için TypeError hatası verir.
  • 🤖 Yapay zeka yardımı: Yapay zekâ kodlama asistanları len() kontrolleri oluşturur ve makine öğrenimi işlem hatları, dizileri doldurmak ve gruplandırmak için len() fonksiyonunu kullanır.

Python len() İşlevi

Nedir Python len() Fonksiyonu?

MKS len () Bu fonksiyon, yerleşik bir fonksiyondur. PythonVerilen bir dizenin, dizinin, listenin, demetin, sözlüğün ve diğer nesnelerin uzunluğunu almak için `len()` fonksiyonunu kullanabilirsiniz. Eleman sayısı her seferinde yeniden hesaplanmak yerine nesne üzerinde saklandığı için, `len()` fonksiyonu boyutu hızlı bir şekilde kontrol etmenize ve programınızın performansını optimize etmenize yardımcı olur.

Sözdizimi Python len() İşlevi

MKS Python len() fonksiyonu aşağıdaki sözdizimini kullanır:

len(value)

Parametreler

değeri: Uzunluğunu ölçmek istediğiniz nesne (örneğin, bir dize, liste, demet, sözlük veya küme).

Geri dönüş değeri

`len()` fonksiyonu bir tamsayı döndürür; yani bir dizedeki karakter sayısını veya bir dizi, liste veya koleksiyondaki eleman sayısını döndürür. Dönüş değerinin tam anlamı, kendisine iletilen nesnenin türüne bağlıdır:

  • Teller: `len()` fonksiyonu, noktalama işaretleri, boşluklar ve her türlü özel karakter dahil olmak üzere dizedeki karakter sayısını döndürür.
  • Boş: Boş bir dize veya boş bir koleksiyon, sıfır öğe içerdiği için 0 değerini döndürür.
  • Koleksiyonlar: `len()` yerleşik fonksiyonu, bir koleksiyonda saklanan eleman sayısını döndürür.
  • TipHatası: `len()` fonksiyonu, kendisine iletilen nesnenin türüne bağlıdır. Tamsayı gibi uzunluğu olmayan bir değer iletmek, `TypeError` hatasına neden olur.
  • Sözlük: Sözlüklerde her anahtar-değer çifti bir birim olarak sayılır, bu nedenle len() anahtar sayısını döndürür.

Örnekleri Python len() İşlevi

Aşağıdaki örnekler, farklı uzunlukları bulmak için len() fonksiyonunun nasıl kullanılacağını göstermektedir. Python Dize, liste, demet, sözlük ve dizi dahil olmak üzere nesneler.

Örnek 1: Bir Dizinin Uzunluğunu Bulma

# testing len() 
str1 = "Welcome to  Guru99 Python Tutorials"
print("The length of the string  is :", len(str1))

Çıktı:

The length of the string  is : 35

Örnek 2: Bir Listenin Uzunluğunu Bulma

# to find the length of the list

list1 = ["Tim","Charlie","Tiffany","Robert"]

print("The length of the list is", len(list1))

Çıktı:

The length of the list is 4

Örnek 3: Bir Demetin Uzunluğunu Bulma

# to find the length of the tuple

Tup = ('Jan','feb','march')

print("The length of the tuple is", len(Tup))

Çıktı:

The length of the tuple is 3

Örnek 4: Bir Sözlüğün Uzunluğunu Nasıl Bulabilirsiniz?

# to find the length of the Dictionary

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}

print("The length of the Dictionary is", len(Dict))

Çıktı:

The length of the Dictionary is 4

Örnek 5: Bir Dizinin Uzunluğunu Bulma

# to find the length of the array

arr1 = ['Tim','Charlie','Tiffany','Robert']

print("The length of the Array is", len(arr1))

Çıktı:

The length of the Array is 4

`len()` fonksiyonunu kullanmadan bir dizenin uzunluğunu nasıl bulabilirim? Python

`len()` fonksiyonu bir dizenin uzunluğunu ölçmenin en hızlı ve en anlaşılır yoludur, ancak karakterleri manuel olarak da sayabilirsiniz. Bu, kodlama mülakatlarında sıkça sorulan bir sorudur ve her yöntem, sayacı artırırken dizenin tamamını döngüye alır.

En yaygın yaklaşım bir for döngüsü kullanmaktır:

# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
    count += 1
print("The length is", count)

Çıktı:

The length is 6

Daha kısa bir seçenek ise, dizedeki her karakter için 1 ekleyerek, bir üreteç ifadesiyle sum() işlevini kullanmaktır:

mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)

Çıktı:

The length is 6

len() fonksiyonunu kullanmadan karakter saymanın diğer yolları şunlardır:

  • Dizeyi boşaltana kadar dilimleyen ve her geçişte bir sayacı artıran bir while döngüsü.
  • enumerate() fonksiyonu, tracks, yineleme sırasında her karakterin indeksini alır.
  • Kalan alt dizenin uzunluğuna 1 eklenerek sonuç döndüren özyinelemeli bir fonksiyon.

Bu manuel yöntemler, yerleşik `len()` fonksiyonundan daha yavaştır; bu nedenle bunları öğrenme veya mülakat pratiği için saklayın. Günlük kodda, `len()` en hızlı ve en anlaşılır seçenektir.

Nasıl olur Python len() fonksiyonu dahili olarak mı çalışıyor?

len() fonksiyonunun nasıl çalıştığını anlamak, neden bu kadar hızlı olduğunu da açıklar. Bir nesne üzerinde len() fonksiyonunu çağırdığınızda, Python Her bir öğeyi tek tek taramaz. Bunun yerine, nesnenin özel __len__() yöntemini çağırır; bu da len(x) ifadesinin x.__len__() ifadesine eşdeğer olduğu anlamına gelir.

Dizeler, listeler, demetler, sözlükler ve kümeler gibi yerleşik kapsayıcılar, kendi boyutlarını bir özellik olarak saklar. Her öğe eklediğinizde veya kaldırdığınızda, Python Bu, saklanan sayıyı günceller. len() çağrıldığında, önceden saklanan bu değeri okur ve döndürür.

Uzunluk zaten bilindiğinden, len() sabit zamanda çalışır, yani O(1) olarak yazılır. Nesne beş öğe veya beş milyon öğe içerse de aynı süreyi alır. Ayrıca, bir tamsayı döndüren bir __len__() yöntemi tanımlayarak kendi sınıflarınıza len() desteği ekleyebilirsiniz:

class Team:
    def __len__(self):
        return 11

squad = Team()
print(len(squad))

Çıktı:

11

Bu tasarım sayesinde len() yöntemi, hem yerleşik tüm türlerde hem de __len__() yöntemini uygulayan tüm özel nesnelerde tutarlı bir şekilde davranır.

" Hakkında daha fazla öğren Python dize yöntemleri

SSS

Evet. len() fonksiyonu, boşluklar, sekmeler, rakamlar ve noktalama işaretleri de dahil olmak üzere bir dizedeki her karakteri sayar. Örneğin, len("Guru 99!” ifadesi 8 değerini döndürür, çünkü boşluk ve ünlem işareti ayrı ayrı bir karakter olarak sayılır.

len() fonksiyonu boş bir dize için 0 döndürür çünkü hiçbir karakter içermez. len() fonksiyonu sıfır indeksli değildir; elemanları birden başlayarak sayar, bu nedenle len("a") 1 ve len("") 0 döndürür.

Tamsayılar birden fazla öğe saklamaz, bu nedenle uzunlukları yoktur. len(123) çağrısı "TypeError: 'int' türündeki nesnenin len() özelliği yok" hatası verir. Rakamlarını saymak istediğinizde önce sayıyı len(str(123)) ile dönüştürün.

Evet. Sözlükler için len() fonksiyonu, her bir anahtar-değer çiftini bir kez sayarak anahtar-değer çiftlerinin sayısını döndürür. Kümeler için ise len() fonksiyonu, yinelenen değerleri otomatik olarak attığı için benzersiz elemanların sayısını döndürür.

`len()` fonksiyonu bir dizedeki Unicode kod noktalarının sayısını döndürür; bu nedenle çoğu aksanlı harf ve sembol bir olarak sayılır. Bununla birlikte, bazı emojiler ve birleşik karakterler birden fazla kod noktası kullanır, bu nedenle `len()` bunlar için birden fazla değer bildirebilir.

`len` değerini `max()` fonksiyonuna anahtar olarak geçirin: `max(words, key=len)` listedeki en uzun dizeyi döndürür. Benzer şekilde, `min(words, key=len)` en kısa dizeyi döndürür. Bu, her uzunluğu karşılaştırmak için manuel bir döngü yazmaktan kaçınmanızı sağlar.

Makine öğrenimi işlem hatları, veri kümesi boyutlarını kontrol etmek, özelliklerin ve etiketlerin eşleştiğini doğrulamak ve dizi uzunluklarını ölçmek için sürekli olarak `len()` fonksiyonunu kullanır. Modeller genellikle veri gruplarının aynı şekle sahip olması için metni eşit bir `len()` uzunluğuna kadar doldurur veya kısaltır.

Evet. GitHub Copilot, amacınızı açıklayan kısa bir yorumdan yola çıkarak len() kontrollerini ve sayma döngülerini otomatik olarak tamamlar. Agentic AI asistanları ise daha da ileri giderek uzunluk doğrulama mantığı yazar, TypeError'a karşı koruma maddeleri ekler ve testlerinizi sizin için çalıştırır.

Bu yazıyı şu şekilde özetleyin: