Listenin boyutunu bulmak için yerleşik len()
fonksiyonunu kullanın:
items = []
items.append("apple")
items.append("orange")
items.append("banana")
Ve aşağıdaki kod çıktı olarak 3 döndürür:
len(items)
>>>3
Açıklama
Python’daki her şey listeler de dahil olmak üzere nesnedir. Tüm nesnelerin de bir tür üstbilgisi vardır.
Python’da özellikle “boyutu” olan listeler ve diğer benzer yerleşik nesneler, nesnedeki öğe sayısının önbelleğe alındığı ob_size
adlı bir özniteliğe sahiptir. Bu nedenle, listedeki nesnelerin sayısını kontrol etmek çok hızlı bir şekilde yapılabilir.
Ancak liste boyutunun sıfır olup olmadığını kontrol ediyorsanız bunu kullanmayın.
len(s)
Nesnenin uzunluğunu (öğe sayısı) döndürün. Bağımsız değişken bir sıra (dize, bayt, dizi, liste veya aralık gibi) veya bir koleksiyon (sözlük, küme veya dondurulmuş küme gibi) olabilir.
len
ile __len__
ile uygulanır:
object.__len__(benlik)
Yerleşik
len()
işlevi uygulamak için çağrılır. Nesnenin uzunluğunu döndürmelidir, tamsayı >= 0. Ayrıca, [Python 2 veya Python 3’te__bool__()
]__nonzero__()
yöntemini tanımlamayan ve __len__() yöntemi sıfır döndüren bir nesne Boole bağlamında yanlış olarak kabul edilir.
Ve __len__() yönteminin bir liste yöntemi olduğunu da görebiliriz:
items.__len__()
>>>3
Hangi yerleşik türler için len
kullanılabilir?
Bir sonraki kod parçasında görüleceği gibi, aşağıdaki tüm türler için len
bilgisini alabileceğimizi görüyoruz:
>>> all(hasattr(cls, '__len__') for cls in (str, bytes, tuple, list, range, dict, set, frozenset))
True
Boş veya boş olmayan bir listeyi sınamak için kullanmayın
Belirli bir uzunluğu test etmek için, elbette aşağıdaki gibi kullanabiliriz:
if len(listem) == gerekli_uzunluk:
...
Ama sıfır uzunluk listesi veya tersi için test etmeyin.
Aşağıdaki gibi de yapmayın:
if len(listem):
...
Bunun yerine aşağıdakini kullanabiliriz:
if listem: # listemde öğeler var kullanabilirim
...
veya
if not listem: # veya listemde öğe yok kullanamam
...