12.1 İndekslər diapazonu
Alt kəsim almaq üçün kod alt siyahı almaq üçün olan kodla eynidir. Bu baxımdan tuple-lar onlara çox oxşayır. Materialı təkrarlamaq istəməzdik, ancaq təkrar — öyrənmənin anasıdır…
Alt kəsimlərin alınması, və ya slicing, tuple-dan hissələri çıxarmağa və yeni tuple-lar yaratmağa imkan verir. Bu proses xüsusilə tuple-da saxlanılan müəyyən məlumat seqmentləri ilə işləmək lazım olduqda faydalıdır.
Kesimlərin sintaksisi
Kesimlər kvadrat mötərizələrdən istifadə edilərək yaradılır, burada başlanğıc və son indekslər iki nöqtə ilə ayrılır. Başlanğıc indeks göstərilməyibsə, kesim ilk elementdən başlayır; son indeks göstərilməyibsə, kesim tuple-un sonuna qədər gedir.
Tuple-un kesimini tuple[start:stop:step] sintaksisindən istifadə edərək əldə edə bilərsiniz, burada:
-
start
— başlanğıc elementinin indeksi (daxildir); -
stop
— son elementin indeksi (daxil deyil); -
step
— elementlərin seçilmə addımı.
Nümunələr:
my_tuple = (0, 1, 2, 3, 4, 5)
sub_tuple = my_tuple[1:4] # İndeks 1-dən 3-ə qədər elementlərdən alt kəsim əldə edirik
print(sub_tuple) # Çap edir (1, 2, 3)
sub_tuple_with_step = my_tuple[0:6:2] # 0-dan 5-ə qədər hər ikinci elementi alırıq
print(sub_tuple_with_step) # Çap edir (0, 2, 4)
Əgər start
göstərilməyibsə, o zaman varsayılan olaraq 0 qəbul edilir, əgər stop
göstərilməmişdirsə — o zaman len(tuple)
qəbul edilir. step
parametri isə varsayılan olaraq 1-dir.
Nümunələr:
# 0-dan 5-ə qədər elementlərdən ibarət tuple yaradırıq
my_tuple = (0, 1, 2, 3, 4, 5)
# İlk tuple-un ikinci elementindən başlayaraq yeni tuple yaradırıq
sub_tuple = my_tuple[1:]
print(sub_tuple) # Çap: (1, 2, 3, 4, 5)
# Başlanğıcdan dördüncü elementə qədər (indeks 4) elementləri əhatə edən yeni tuple yaradırıq,
# addım 1 (varsayılan olaraq)
sub_tuple_with_step = my_tuple[:5]
print(sub_tuple_with_step) # Çap: (0, 1, 2, 3, 4)
12.2 Mənfi indekslər
Python-da mənfi indekslər -1 ilə başlayır və bu, siyahının (və ya körtəcin) son elementinə uyğun gəlir. -2 sondan əvvəlki elementə və s. işarə edəcək. Mənfi indekslərin istifadəsi elementlərə körtəcin sonundan daxil olmağı sadələşdirir və onların mövqeyini əvvəldən hesablamağa ehtiyac yoxdur.
İstifadə nümunələri
Mənfi indekslərin kəsim yaratmaq üçün istifadəsini nəzərdən keçirək. Tutaq ki, bizdə qiymətləri olan körtəc var:
my_tuple = (10, 20, 30, 40, 50, 60, 70, 80)
Körtəcin sonundan ortasına qədər olan elementləri əhatə edən alt körtəc əldə etmək üçün mənfi indekslərdən istifadə edə bilərik.
sub_tuple = my_tuple[-3:-1]
print(sub_tuple) # (60, 70) qaytaracaq
Beləliklə, my_tuple[-3:-1]
indekslərə görə -3
(sondan üçüncü) ilə -1
(sonuncunu daxil etmədən) elementləri seçəcək və nəticədə biz (60, 70) körtəcini alacağıq.
Körtəcin son elementini əldə etmək:
my_tuple = (10, 20, 30, 40, 50)
last_element = my_tuple[-1]
print(last_element) # 50 qaytaracaq
Burada, my_tuple[-1]
həmişə körtəcin son elementini qaytaracaq ki, bu da körtəcin elementlərinin dəqiq sayı məlum olmadıqda çox rahatdır.
Körtəcin elementlərini tərs çevirmək:
my_tuple = (10, 20, 30, 40, 50)
reversed_tuple = my_tuple[::-1]
print(reversed_tuple) # (50, 40, 30, 20, 10) qaytaracaq
[::-1] kəsimini istifadə etməklə körtəcin elementlərinin sırasını asanlıqla və effektiv şəkildə tərsinə çevirmək və nəticədə yeni bir körtəc əldə etmək mümkündür.
12.3 Tuple-da element var mı?
Tuple-da elementin olub-olmamasını yoxlamaq — adi bir əməliyyatdır və bizə tuple-da həmin elementin olub-olmaması ilə bağlı məlumat verir. Bu, in
operatoru vasitəsilə edilir və əgər element tuple-da varsa True, əks halda False qaytarır.
in
operatorunun istifadəsi
in
operatoru elementin olub-olmamasını yoxlamaq üçün sadə və intuitiv bir üsuldur:
my_tuple = (1, 2, 3, 4, 5)
element = 3
if element in my_tuple:
print(f"{element} tuple-da var.")
else:
print(f"{element} tuple-da yoxdur.")
Elementin olmadığını yoxlamaq:
Əgər siz elementin tuple-da olmadığından əmin olmaq istəyirsinizsə, sadəcə not in
konstruktorundan istifadə edin:
names = ('Alice', 'Bob', 'Charlie')
search_name = 'Alice'
if search_name not in names:
print(f"{search_name} tuple-da yoxdur.")
else:
print(f"{search_name} tuple-da var.")
Demək olar ki, siyahılarla işləməkdən heç nə ilə fərqlənmir — məhz bu Python-un universallığı və sadəliyidir.
GO TO FULL VERSION