Skip to content

from examples.main import yangi

Pythonda kortej(tuple)lar.

Asosiy tushunchalar(tuple)

Tuple oldingi o'rgangan ro'yxat kabi bir qancha ma'lumotlarni bitta o'zgaruvchida saqlash uchun qo'llaniladi, albatta ro'yxatlar bilan bir xil emas ba'zi farqlari mavjud buni quyida ko'rib chiqamiz. Tuple Pythonning oldindan tayyoq qilingan ma'lumot turlaridan biri hisoblanadi. Ro'yxatdan asosiy farqi tupleni o'zgartirib bo'lmaydi, ya'ni unga qiymatlar berilganidan so'ng unga boshqa qiymatlar qo'shish yoki o'chirish imkoni mavjud emas va elementlarni takrorlanishiga ruxsat beradi. Tuple ochish( va ) bilan e'lon qilinadi. Quyida e'lon qilishga misol ko'ramiz.

Misol:

mevalar = ('olma', 'anor', 'behi', 'nok')
print(mevalar)

Natija:

('olma', 'anor', 'behi', 'nok')

tuple elementlari bilan ishlash ham list kabi index lar bilan amalga oshiriladi.

Misol:

mevalar = ('olma', 'anor', 'behi', 'nok')
print(mevalar[0])

Natija:

olma

Tuple tartiblangan ma'lumot turi hisoblanadi, bu shuni anglatadiki tuple e'lon qilinganidan so'ng uni tartibini o'zgartirib bo'lmaydi.

Tuple uzunligi

tuple uzunligini len funksiyasi yordamida aniqlshimiz mumkin.

Misol:

mevalar = ('olma', 'anor', 'behi', 'nok')
print(len(mevalar))

Natija:

4

Bitta qiymatli tuple

Bir dona qiymatga ega bo'lgan tuple qanday hosil qilinadi deb o'ylaysiz?

t = ('tuple')

deb o'ylagan bo'lsangiz ozroq adashdingiz. Buni tekshirib ko'prish uchun type() funksiyasiga murojaat qilamiz.

t = ('tuple')
print(type(t))

Natija:

<class 'str'>
Bu yerda nima bo'ldi? Aniqroq bo'lishi uchun boshqa misol ko'ramiz.

t = ('tuple', 'str')
print(type(t))

Natija:

<class 'tuple'>

tuple hosil qilsih uchun unga bir dona qiymat bersak Python buni tuple emas str turi deb qabul qiladi. Agar bizga bir dona qiymatli tuple kreak bo'lsa quyidagicha qilishimiz kerak bo'ladi.

t = ('tuple', ) 
print(type(t))

Natija:

<class 'tuple'>

Biz bergan qiymatdan so'ng , belgisini qo'shishimiz kerak, shunda buni tuple ekanligini Python biladi.

Tuple va ma'lumot turlari.

Tuple elementi sifatida boshqa ma'lumot turlaridan foydalnishimiz mumkinligini bilsangiz kerak, lekin bu turlardan aralash qilib foydalanish mumkinligini bilarmidingiz?

Misol:

t1 = ("olma", "anor", "behi")
t2 = (1, 5, 7, 9, 3)
t3 = (True, False, False)
t4 = ("abc", 34, True, 40, "male")

print(t1)
print(t2)
print(t3)
print(t4)

Natija:

('olma', 'anor', 'behi')
(1, 5, 7, 9, 3)
(True, False, False)
('abc', 34, True, 40, 'male')

Tuple elementlari bilan ishlash

To'g'ridan to'g'ri misollar bilan korib chiqamiz.

1-misol. Index orqali elementni olsish.

t = ("apple", "banana", "cherry")
print(t[1])

Natija:

banana

Tupleda ham indexlar 0 dan boshlanadi.

2-misol. Manfiy indexlar

Manfiy indexlar tuple oxirini anglatadi.

t = ("apple", "banana", "cherry")
print(t[-1]) # oxirgi elementni oladi.

Natija:

cherry

3-misol. Indexlar diapazoni

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[2:5])

Natija:

('cherry', 'orange', 'kiwi')

4-misol. Boshidan kesib olish

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[:4])

Natija:

('apple', 'banana', 'cherry', 'orange')

5-misol. Elementgacha kesib olish

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[:4])

Natija:

('apple', 'banana', 'cherry', 'orange')

Bu yerda boshidan boshlab 4 ta elemnt kesib oladi. kiwi olinmaydi.

6-misol. Elementdan boshlab kesib olish

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[2:])

Natija:

('cherry', 'orange', 'kiwi', 'melon', 'mango')

7-misol. Manfiy indexlar diapazoni

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[-4:-1])

Natija:

('orange', 'kiwi', 'melon')

8-misol. Manfiy indexlar diapazoni

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[-4:-1])

Natija:

('orange', 'kiwi', 'melon')

9-misol. Elementni tekshirish.

tuple elementlarini orasida boshqa element bor yoki yo'q ekanini tekshirishimiz uchun bizga in yordam beradi. in bizga True yoki False qoymat qaytaradi.

t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
if 'kiwi' in t:
    print("Bor")
else:
    print("Yo'q")

Natija:

Bor

Boshqa qiymatlar bilan o'zingiz ham tekshirib ko'ring.

Tuple qiymatlarini o'zgartirish.

Yuqorida biz tuple ni o'zgarmas degan edik endi esa o'zgartirishni istayapmiz buni imkni bormi? Albatta bor!

10-misol. Tuple elementlarini o'zgartirish.

Tuple yaratilganidan so'ng o'zgarmas hisoblanadi ya'ni unga yangi element qo'shish imkonsiz, buni amalga oshirishimiz uchun tuple turini list ga o'tqazishimiz kerak bo'ladi.

x = ("apple", "banana", "cherry") # tuple elon qilindi
y = list(x) # turi listga o'girildi
y[1] = "kiwi" # yangi element qo'shildi.
x = tuple(y) # turi yana tuple ga o'zgartirildi.
print(x) # tuple ning qiymati

Natija:

('apple', 'kiwi', 'cherry')

11-misol. Tuple qo'shish

Ikkita tupleni bir-biriga qo'shish imkoniyati ham bor.

x = ("apple", "banana", "cherry")
y = ("orange",)
x += y

print(x)

Natija:

('apple', 'banana', 'cherry', 'orange')

Shuni esdan chiqarmaslik kerak bir dona qiymatga ega bo'lgan tuplelarda elementdan keyin , belgini qo'yishni.

Info

Yangi element qo'shish, o'chirish yoki o'zgartrishlarda tuple turinini listga o'zgartirib list funksiyalaridan foydalanib amllarni bajarish keyin esa yana qayta tuple ga o'girish kerak.

12-misol. Tupleni to'liq o'chirish

x = ("apple", "banana", "cherry")
del x
print(x)

Natija:

NameError: name 'x' is not defined

x nomi tuple xotiradan to'liq o'chirildi.

Tupleni ochish(unpacking)

Tuple ni biz odatdagi korinishda elon qilishimizni qadoqlangla ko'rinish desak bo'ladi. Bu quyidagi ko'rinishda:

13-misol.

t = (1, 2, 3)

Ammo tuple bizga qiymatlarini ochib boshqa o'zgaruvchilarga uzatish imkoniyatini ham taqdim qiladi. Bu quyidagicha:

t = (1, 2, 3)
bir, ikki, uch = t
print(bir)
print(ikki)
print(uch)

Natija:

1
2
3

Note

O'zgaruvchilar soni, tuple elementlari soniga mos kelishi kerak aks holada xatolik yuz beradi. Xatolik yuzaga kelmasligi uchun * dan foydalanib qiymatlarni ro'yxat(list) ga yig'ish kerak bo'ladi.

14-misol.

t = (1, 2, 3, 4, 5, 6)
bir, ikki, uch, *royxat = t
print(bir)
print(ikki)
print(uch)
print(royxat)

Natija:

1
2
3
[4, 5, 6]

Agar boshi va oxiridagi elementarni o'zgaruvchilarga olish kerak bo'lsa quyidagi ishni amalga oshirish kerak bo'ladi.

15-misol

t = (1, 2, 3, 4, 5, 6)
birinchi, *orta, oxirgi = t
print(birinchi)
print(orta)
print(oxirgi)

Natija:

1
[2, 3, 4, 5]
6

Sizni oldizda turgan muamoga qarab o'ziz xohlagan usuldan biridan foydalanishingiz mumkin.

Sikl operatorlari va tuple

16-misol. for sikl operatori yordamida elementlarni chop qilish

raqamlar = (1, 2, 3, 4,5)
for t in raqamlar:
    print(t)

Natija:

1
2
3
4
5

17-misol. Indexlari orqali murojaat qilish.

raqamlar = (1, 2, 3, 4,5)
for i in range(len(raqamlar)):
    print(raqamlar[i])

Natija:

1
2
3
4
5

18-misol. While sikl operatori bilan.

raqamlar = (1, 2, 3, 4, 5)
i = 0
while i < len(raqamlar):
    print(raqamlar[i])
    i += 1

Natija:

1
2
3
4
5

19-misol. Tupleni ko'paytirish

raqamlar = (1, 2, 3, 4, 5)
yangi_raqamlar = raqamlar * 2
print(yangi_raqamlar)

Natija:

(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)

Tuple bilan ishlash uchun maxsus funksiyalar.

Usul Tavsif
count() Belgilangan qiymatning tuple ichida qancha marta uchraganini qaytaradi.
index() Tuple ichida belgilangan qiymatni qidiradi va uni topgan joyining pozitsiyasini qaytaradi.

20-misol. count()

# Tuple yaratamiz
my_tuple = (1, 2, 3, 2, 4, 2)
# 2 qiymatining nechta marta uchraganini hisoblaymiz
count_of_two = my_tuple.count(2)
print(count_of_two)  # Natija: 3

Natija:

3

21-misol. index()

# Tuple yaratamiz
my_tuple = ('apple', 'banana', 'cherry', 'banana')
# 'banana' ning birinchi uchragan pozitsiyasini topamiz
index_of_banana = my_tuple.index('banana')
print(index_of_banana)  # Natija: 1

Natija:

1