O‘zbеkiston rеspublikasi oliy va o‘rta maxsus ta’lim vazirligi andijon davlat univеrsitеti axborot tеxnologiyalari va kompyutеr injiniringi fakultеti axborot tеxnologiyalari kafеdrasi kurs ishi


List() va tuple() funksiyalarining vazifasi



Yüklə 41,06 Kb.
səhifə4/6
tarix19.12.2023
ölçüsü41,06 Kb.
#150355
1   2   3   4   5   6
Axborot tеxnologiyalari kafеdrasi kurs ishi «dasturlash tillari»-fayllar.org

List() va tuple() funksiyalarining vazifasi
Ro`yxat- Pythonda erkin turdagi obyektlarning o`zgaruvchan qatorlashgan kolleksiyasi hisoblanadi (massivga o`xshash, lekin tiplar har xil bo`lishi mumkin). Ro`yxatlardan foydalanish uchun ularni tuzish kerak. Ro`yxatni har xil yondashuvlar yordamida yaratish mumkin. Masalan har bir iteratsiya qilinadigan obyektni (masalan satrni) Pythonni o`ziga kiritilgan list funksiyasi yordamida kiritish mumkin.
Ro`yxatning funksiya va metodlari

Ro`yxatni yaratgandan so`ng uning ustida turli amallarni bajarish kerak bo`ladi, albatta, buning uchun esa Pythonni o`ziga kiritilgan bir qancha funksiya va metodlar bor.

Kortejlar(tuple)
Kortejlar bir nechta ob’yektlarni birgalikda saqlashga xizmat qiladi. Ularni ro’yxatlarga o’xshatish mumkin. Lekin ular ro’yxatlar kabi boy funksionallikka ega emas. Ularning asosiy jihati qatorlarga o’xshab o’zgarmasliklaridir. Kortejelementlar orasini vergul bilan ajratish orqali hosil qilinadi. Kortejga ma’no jihatdan o`zgarmas ro`yxat deb ta’rif berdik. Shu o`rinda savol tug`iladi. Ro`yxat bo`lsa kortej nimaga kerak: 1. Turli holatlardan himoyalanish. Bu degani kortej o`zgartirishlardan himoyalangan bo`ladi, rejali (bu yomon) va tasodifiy (bu yaxshi) o`zgarishlardan xalos bo`ladi. 2. Kichik hajm. So`zlar bilan ifodalamasdan.

3. Kortejdan lug`at kaliti sifatida foydalanish mumkin:

Kortej afzalliklari haqida bilib oldik. Endi kortej bilan qanday ishlashni ko`ramiz. Bu xuddi ro`yxatlar bilan ishlashga o`xshaydi. Bo`sh kortejni yaratamiz:

Kortej kesmasi

Kortejning biror qismini bo`lagini ya’ni kesmasini ajratish uchun(masalan: 2 elementidan to 5-chi elementigacha) uning indekslari orasiga-ikki nuqta(:) qo’yamiz.

Kortejni o`zgartirish


Kortejlar ustida amal bajarayotganda “+” operatori orqali ikkita kortejni qo`shishimiz mumkin, va bu konkatenatsiya deb ham ataladi. 53 Kortej elementlarini takrorlash uchun “*” operatoridan foydalanamiz. “+” va “*” operatorlarini kortejlarda qo`llaganimizdan so`ng yangi ko`rinishdagi kortejga ega bo`lamiz.

Kortejning funksiya va metodlari


Count(x)-kortejdagi x elementi sonini qaytaradi.
Index(x)-kortejdagi x elementining indeksini qaytaradi.
Any()-agar kortej elementi mavjud bo`lsa True qiymat qaytaradi, aks holda (kortej bo`sh bo`lsa) False qiymat qaytaradi.
Max()-kortejning maksimal elementini qaytaradi.
Min()- kortejning minimal elementini qaytaradi.
Len()-kortejning uzunligini qaytaradi.
Sorted()-kortej elementlaridan iborat yangi tartiblangan ro`yxatni qaytaradi.
Sum()-kortej elementlari yig`indisini qaytaradi.

Elementni kortejga tegishli ekanligini tekshirish uchun in kalit so`zidan foydalaniladi:

Ro'yxat va kortej Python-da eng ko'p ishlatiladigan ikkita ma'lumotlar tuzilmasi.
O'xshashlik:
Ularning ikkalasi ham bir yoki bir nechta ob'ekt yoki qiymatlarni ma'lum bir tartibda saqlashi mumkin. Va elementlarning ma'lumotlar turi bir xil bo'lishi shart emas.
l = [1, 2, "salom", "dunyo"] #a ro'yxatda string va int mavjud

t = ('Weikun', 7)#a kortejda string va int mavjud


Farqlar
Ro'yxat dinamik, ro'yxat uzunligi aniqlanmagan, ro'yxat elementlarini qo'shish, o'chirish va o'zgartirish mumkin (o'zgaruvchan).
Kortej statik, kortej uzunligi aniq, kortej elementlarini qo'shib bo'lmaydi, o'chirilmaydi yoki o'zgartirilmaydi (o'zgarmas).
l = [1, 2, 3, 4] # to'rt elementli ro'yxat.
l[3] = 40 #ro'yxatning to'rtinchi elementi l ni 40 ga o'zgartirdi
l
[1, 2, 3, 40]
tup = (1, 2, 3, 4) # to'rt elementli kortej.
tup[3] = 40 # kortejning to'rtinchi elementini 40 ga o'zgartirdi
Traceback (eng oxirgi qo'ng'iroq):
Fayl "", 1-qator, da
TypeError: "tuple" ob'ekti elementni belgilashni qo'llab-quvvatlamaydi
Salbiy indeks
List va Tuple ikkalasi ham salbiy indeksni qo'llab-quvvatlaydi
l = [1, 2, 3, 4]

l[-1]
4


tup = (1, 2, 3, 4)
tup[-1]
4
Kesish
List va Tuple ikkalasi ham kesish jarayonini qo'llab-quvvatlaydi
l = [1, 2, 3, 4]

l[1:3] # indeks 1 dan indeks 2 ga elementlarni qaytaradi


[2, 3]
tup = (1, 2, 3, 4)
tup[1:3] # indeks 1 dan indeks 2 ga elementlarni qaytaradi
(2, 3)
Ichki roʻyxat va Tuple
List ham, Tuple ham ichki elementlarga ega bo'lishi mumkin.
l = [[1, 2, 3], [4, 5]] # l roʻyxatining elementlari roʻyxatdir.

tup = ((1, 2, 3), (4, 5, 6)) # Tuple tup elementlari tup


Konvertatsiya qilinmoqda
list() va tuple() roʻyxatni kortejga yoki aksincha oʻzgartirishi mumkin.
roʻyxat((1, 2, 3))

[1, 2, 3]


kortej([1, 2, 3])
(1, 2, 3)
Boshqa foydali o'rnatilgan funktsiyalar
l = [3, 2, 3, 7, 8, 1]
l.hisob(3)
2
l.indeks(7)
3
l.teskari()
l
[1, 8, 7, 3, 2, 3]
l.sort()
l
[1, 2, 3, 3, 7, 8]
tup = (3, 2, 3, 7, 8, 1)
tup.count(3)
2
tup.index(7)
3
ro'yxat (teskari (tup))
[1, 8, 7, 3, 2, 3]
saralangan (tup)
[1, 2, 3, 3, 7, 8]
Amalga oshirish va xotira
Yuqorida aytib o'tilganidek, ro'yxat o'zgaruvchan va kortej o'zgarmasdir. Shuning uchun, bu ro'yxat va kortej qanday amalga oshirilishiga ta'sir qiladi.
l = [1, 2, 3]

l.__sizeof__()


64
tup = (1, 2, 3)
tup.__sizeof__()
48
Ko'rib turganingizdek, ro'yxat va kortej bir xil elementlarga ega, ammo ularning o'lchamlari boshqacha. Ro'yxat ro'yxatdagidan 16 bayt kattaroqdir, chunki ro'yxatni amalga oshirish usuli ortiqcha taqsimlash deb ataladi.
l = []
l.__sizeof__() // bo'sh ro'yxat 40 baytni tashkil qiladi

40
l.ilova(1)


l.__sizeof__()
72 // ustidagi ro'yxat 4 ta elementni ajratadi
// (72 - 40)/8 = 4
l.ilova(2)
l.__sizeof__()
72 // o'lcham bir xil (4 ta elementni ortiqcha taqsimlash)
l.ilova(3)
l.__sizeof__()
72 // o'lcham bir xil (4 ta elementni ortiqcha taqsimlash)
l.ilova(4)
l.__sizeof__()
72 // o'lcham bir xil (4 ta elementni ortiqcha taqsimlash)
l.ilova(5)
l.__sizeof__()
104 // yana 4 ta elementni ortiqcha taqsimlash
Biroq, kortejda ortiqcha taqsimlash funksiyasi mavjud emas, chunki u o'zgarmasdir.
Ishlash
Ko'rib turganingizdek, kortejni ishga tushirish bir xil elementlarga ega ro'yxatni ishga tushirishdan besh baravar tezroq.
python3 -m timeit 'x=(1,2,3,4,5,6)'
20000000 tsikl, 5 dan eng yaxshisi: har bir tsikl uchun 9,97 ns
python3 -m timeit 'x=[1,2,3,4,5,6]'
5000000 halqa, 5 dan eng yaxshisi: har bir tsikl uchun 50,1 ns
Biroq, ro'yxat yoki kortejni indekslash nuqtai nazaridan unchalik katta farq yo'q.
python3 -m timeit -s 'x=[1,2,3,4,5,6]' 'y=x[3]'

10000000 tsikl, 5 dan eng yaxshisi: har bir tsikl uchun 22,2 ns


python3 -m timeit -s 'x=(1,2,3,4,5,6)' 'y=x[3]'
10000000 tsikl, 5 dan eng yaxshisi: har bir tsikl uchun 21,9 ns
Kortejlar
Python dasturlash tilida kortej degan tushuncha mavjud, bunda kortej ro‘yxat elementlari sifatida qabul qilinadi, lekin uni elementlarini o‘zgartirish mumkin emas. Kortejlar ro‘yxatga qaraganda kamroq xotiradan foydalaniladi. Kortejni belgilashda kvadrat qavslar o‘rniga aylana qavslar ishlatiladi. Kortejlar o‘zgarishlarga ruxsat bermaydi, siz unga yangi element qo‘sha olmaysiz, mavjud elementlarni o‘chira yoki o‘zgartira olmaysiz. Kortejlardan foydalanishni quyidagi dastur orqali qarab chiqamiz.

Ro‘yxatlarni tuple() funksiyasi orqali kortejlarga aylantirish imkoniyati mavjud. List() funksiyasi orqali esa kortejlarni ro‘yxatlarga aylantirish imkoniyati mavjud.

Bir nechta elementlarni yagona o‘zgaruvchi bilan boshqarish va qayta ishlash uchun ro‘yxat va kortej orqali to‘liq amalga oshirish mumkin.
Xulosa
Xulosa sifatida shuni aytish kerakki Python dasturlash tilining yaratilish tarixi, imkoniyatlari va Python dasturlash tilini Windows operatsion tizimida o`rnatish haqida o‘rgandim. Python dasturida ishlaydigan foydalanuvchilar uchun uning sintaksisi, asosiy operatorlari, fayllar, funksiyalar bilan ishlash sanoq sistemalari va satrlar bilan ishlash haqida muhim zaruriy ma’lumotlar keltirilgan. Qo`llanmani o`qigan har bir qiziquvchi Python dasturini o`rnatish boshqa odatiy dasturlarni o`rnatish kabi hech qanday qiyinchiliksiz o`rnatilishini, tilning sintaksisi o`zi kabi sodda va oson ekanligini, o`zgaruvchilarning tipini e’lon qilinmasligini, shuningdek sonlar bilan ishlaganda nafaqat butun va haqiqiy sonlar ustida balki kompleks sonlar ustida ham amallar bajarishni ko`rsatilgan misollar yordamida o`rgana oladi va uni amaliyotda bajara oladi. Satrlar bilan ishlash va ular ustida amallar bajarish haqida ham yetarlicha ma’lumotlar keltirilgan. Ushbuda yana ro`yxat, kortej, lug`at va to`plam tushunchalari va ularni qanday yaratish mumkinligi ular ustida amallar bajarish haqida ma’lumotlar keltirilib misollar yordamida tushuntirilgan. Shuningdek, modul tushunchasi, Python dasturining juda boy kutubxonaga ega ekanligi haqidagi ma’lumotlar berilgan bo`lib, ko`plab modullar shu jumladan sys, copy, time, math, cmath, random, os modullari ularning funksiyalari va qo`llanilishi haqida yozilib, misollar keltirish yordamida amaliyotda qo`llab tushuntirilgan. O`quvchilar o’z ustilarida mustaqil ishlashlari va Python dasturida ishlash bo`yicha bilim saviyalarini oshirish uchun standart modullardan foydalanishlari taklif etilgan. Python dasturlash tilining afzallik tomonlari tushuntirib berildi.
O’zbekiston Respublikasi Oliy va O’rta maxsus ta’lim Vazirligi

Andijon davlat universiteti


Axborot texnologiyalari va kompyuter injinering fakulteti
Informatika o‘qitish metodikasi yo’nalishi
4 kurs 413-gurux talabasi Oxunjonov Iskandarning
Python dasturlash tilida ro'yxatlar bilan ishlash.List, Tuple
mavzusini o’qitish metodikasi” mavzusidagi kurs ishiga
RAHBAR XULOSASI

Bugun mamlakatimizda axborot-kommunikatsiya texnologiyalarini davlat boshqaruvi, iqtisodiyot tarmoqlari, ijtimoiy soha va kundalik hayotga izchil joriy etish bo’yicha keng ko’lamli ishlar amalga oshirilmoqda.


Shu sababdan hozirgi kunda dasturlash tillarini yuqori saviyada o’rganish, yangi imkoniyatlari bilan tanishish va amaliyotda qo’llay olish uning imkoniyatlaridan to’laqonli foydalanish bugungi kunda korxona xodimlari, o’qituvchi va talabalar, shu soha bilan shug’illanuvchi mutaxassislar, dasturchilar oldida turgan eng muhim va asosiy vazifalardan biridir. Shu ma’noda Python dasturlash tilining “Python dasturlash tilida ro'yxatlar bilan ishlash.List, Tuple” mavzusini o’rgatish informatika va axborot texnologiyalari oldida turgan muammolaridan biridir.Ushbu fikrlardan ma’lum bo’ladiki, tanlangan kurs ish “pythonda o’zgaruvchilarni tavsiflash” tushunchasi juda kerakli mavzu hisoblanib. Ta’lim yo’nalishi sohasidagi masalalarni yechishda, tajriba natijalarini qayta ishlashda, hozirgi kundagi insonlarni o’yga solib turgan muammolarni hal etishda, turli sohalarda meditsina, biznes, qurilish va boshqa bir qancha sohalarda insonlarni qo’l mehnatini va ko’p vaqtini olib kelayotgan ishlarni tez va oson eng asosiysi mukamal hal etishda dasturlashdan foydalanish hozirgi davr talabi hisoblanadi.

Yüklə 41,06 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə