Python'da bir listenin son elemanını nasıl alırsınız?
some_list[-1]` en kısa ve en Pythonic olanıdır.
Aslında, bu sözdizimiyle çok daha fazlasını yapabilirsiniz. some_list[-n]sözdizimi n'inci sondan bir önceki öğeyi alır. Yani
some_list[-1]son elemanı alır,
some_list[-2]sondan ikinci elemanı alır, vb, size ilk elemanı veren
some_list[-len(some_list)]`e kadar.
Liste öğelerini de bu şekilde ayarlayabilirsiniz. Örneğin:
>>> some_list = [1, 2, 3]
>>> some_list[-1] = 5 # Set the last element
>>> some_list[-2] = 3 # Set the second to last element
>>> some_list
[1, 3, 5]
Bir liste öğesini indekse göre almanın, beklenen öğe mevcut değilse bir IndexError
oluşturacağını unutmayın. Bu, some_list[-1]
in some_list
boşsa bir istisna oluşturacağı anlamına gelir, çünkü boş bir listenin son öğesi olamaz.
Eğer str()
veya list()
nesneleriniz bu şekilde boş kalabilir: astr = ''veya
alist = [], o zaman nesne "sameness" için
alist[-1]yerine
alist[-1:]` kullanmak isteyebilirsiniz.
Bunun önemi şudur:
alist = []
alist[-1] # will generate an IndexError exception whereas
alist[-1:] # will return an empty list
astr = ''
astr[-1] # will generate an IndexError exception whereas
astr[-1:] # will return an empty str
Burada yapılan ayrım, boş bir liste nesnesi veya boş bir str nesnesi döndürmenin bir istisna nesnesine göre daha "son öğe"benzeri olmasıdır.
Siz de yapabilirsiniz:
alist.pop()
Bu, listenizle ne yapmak istediğinize bağlıdır çünkü pop()
yöntemi son öğeyi silecektir.