Python’da listenin son öğesi nasıl elde edilir?

Python’da, listenin son öğesini nasıl alırsınız? En kısa ve en Pythonik yolu some_list[-1] şeklindedir.

İlişkili olduğu konular : how to, nasıl

Python’da, listenin son öğesini nasıl alırsınız? En kısa ve en Pythonik yolu some_list[-1] şeklindedir.

Aslında, bu sözdizimi ile çok daha fazlasını yapabilirsiniz. some_list[-n] sözdizimi, sondan n. öğeyi alır. Dolayısıyla some_list[-1] son öğeyi alır, some_list[-2] sondan ikinci öğeyi alır, vb..

Öte yandan liste öğelerini bu şekilde de tanımlayabilirsiniz. Örneğin:

>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Son öğeyi tanımlar
>>> some_list[-2] = 3 # Sondan 2. öğeyi tanımlar
>>> some_list
[1, 3, 5]

Beklenen öğe yoksa, bir IndexError hatası alacağınızı unutmayın. Bu, boş bir listenin son öğesi olamadığı için beklenen bir sonuç olacaktır.

Bu durumda some_list[-1:] söz dizimini kullanmayı tercih edebilirsiniz. Benzer şekilde dizeler için de bu yöntemi kullanabiliriz:

alist = []
alist[-1]   # IndexError hatası verir
alist[-1:]  # boş bir liste döndürür
astr = ''
astr[-1]    # IndexError hatası verir
astr[-1:]   # boş bir dize döndürür

Son öğeyi alma ve kaldırma

listem.pop() ile son öğeyi kaldırıp döndürerek orijinal listemizi de değiştirebiliriz:

>>> a_list.pop(-1)
'three'
>>> a_list
['zero', 'one', 'two']

Ama şimdi orijinal listemiz değişti. .pop()’u tekrar çağırdığımızda aşağıdaki çıktıyı alırız:

>>> a_list.pop()
'two'

reversed ve yineleyici ile son öğeyi alma

Buna neden ihtiyaç duyarsınız bilemiyorum, ancak bir yineleyici ve reversed fonksiyonu ile de benzer sonucu elde edebiliriz:

>>> next(reversed([1,2,3]))
3

Yani bunun tersini yapmak gibi:

>>> next(iter([1,2,3]))
1

Ama bunu yapmak için iyi bir neden bilemiyorum, tabii daha sonra ters yineleyicinin geri kalanına ihtiyacınız olmayacaksa, ki bu muhtemelen daha çok şöyle kullanılabilir:

reverse_iterator = reversed([1,2,3])
last_element = next(reverse_iterator)

use_later = list(reverse_iterator)

böylece:

>>> use_later
[2, 1]
>>> last_element
3

çıktısını elde ederiz.

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Yazı, Python

Okumaya devam et!

Python’da f-string ile virgülden sonraki basamak sayısının belirlenmesi

Python’da ondalıklı sayılarla ilgilenirken (float) virgülden sonraki basamak sayısını belirlemek için f-string kullanabiliriz.

Python’da Girintiler (indentation)

Python’da, kontrol ve döngü yapılarını tanımlamak için girintileri (indentation) kullanırız.

Yerel Python modüllerinin listesini nasıl alabiliriz?

Python kurulumumda (UNIX sunucusu) bulunan Python modüllerinin listesini almak istiyoruz.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.