logo

PYTHONDA DASTURLASH

Загружено в:

10.08.2023

Скачано:

0

Размер:

144.3173828125 KB
MAVZU: PYTHONDA DASTURLASH. 
Reja :
1. Ro‘yxatlar (lists) bilan ishlash.
2. Kortejlar bilan ishlash.
3. To‘plamlar (set) bilan ishlash.
4. Lug‘atlar (dictionary) bilan ishlash.  Pythonda ma’lumot to’plamlarining turlari  4 turga  bo’linadi.

List   –  tartiblangan  va  o’zgaruvchan  ro’yxat.  Elementlarini 
dublikatlash mumkin. 

Tuple   –  tartiblangan  va  o’zgarmas  ro’yxat.  Elementlarini 
dublikatlash mumkin. 

Set   –  Tartiblanmagan  va  indekslanmagan  to’plam.  Elementlari 
dublikatlanmaydi. 

Dictionary   –  tartiblanmagan,  o’zgaruvchan  va  indekslangan 
to’plam. Elementlari dublikatlanmaydi . MA’LUMOT TO’PLAMLARI VA TURLARI  List   –    tartiblangan  va  o’zgaruvchan  ro’yxat.  List-   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 kvadrat qavslar bilan yoki oddiy qavslar 
bilan hosil qilish mumkin: 
Kvadrat qavslar bilan e’lon qilish:
a=["anor","olma","nok","gilos","shaftoli"]
print(a)
Oddiy qavslar bilan e’lon qilish:
a=list(("anor","olma","nok","gilos","uzum"))
print(a)
List  elementlariga  murojaat    qilish  uchun,  murojaat  qilinayotgan 
elementning indeksi ko’rsatiladi. Sanoq har doimgidek 0 dan boshlanadi.  LIST (RO’YXAT)  Manfiy  indeks  bu  –  sanoq  oxiridan  boshlanishini  bildiradi.  Masalan,  -1  eng 
oxirgi, -2 oxiridan ikkinchi element. 
Masalan:
fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] 
print(fan[-2]) 
Ro’yxatning  elementlaridan  bir  nechtasini  tanlab  olish  uchun  indekslar 
oralig’i  kiritiladi.  Bunda  uning  boshlanish  va  oxirgi  nuqtalari  kiritiladi. 
Element  tanlashda  oxirgi  element  indeksini  inobatga  olmaymiz.  Ya’ni 
boshlang’ich  nuqtadan  boshlanib  oxirgi  nuqtadan  bitta oldingi  elementgacha 
olinadi. 
fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] 
print(fan[1:3]) Manfiy indeks  fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] 
print(fan[:3]) 
fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] 
print(fan[1:]) 
List ro’yxatidagi istalgan element qiymatini o’zgartirish mumkin. Bunda ro’yxat 
indeksiga murojaat qilinadi va yangi qiymat beriladi.
 
fan = ['Fizika', 'Matematika','Kimyo','Adabiyot']
fan[0]='Informatika'
print(fan) 
fan = ['Fizika', 'Matematika','Kimyo','Adabiyot']
fan[0]='Informatika'; fan[2]= 'Biologiya'
print(fan)  Element qiymatini o’zgartirish  Ro’yxat  elementlarini  tanlab  olishda  for   operatoridan  foydalanish 
mumkin.
 
meva=['olma','anor','nok','gilos']
for i in meva:
     print(i)
son=list((5,2,6,3,4,8))
for i in son:
     print(i) Ro’yxat elementlari bo’ylab takrorlanish  1) Ro’yxat elementlari yig’indisini aniqlovchi dastur tuzing.
2) Berilgan ro’yxatdagi eng katta sonni aniqlovchi dastur tuzing. Ro’yxat elementlari bo’ylab takrorlanish 
son=[5,2,6,3,4,8]
s=0
for i in son:
     s+=i
print(s)
son=[445,600,9000,3,964,800]
a=son[0]
for i in son:
     if i>a:
         a=i
print(a) 3) Ro’yxatning juft indeksidagi sonlarni chiqaruvchi dastur tuzing. Ro’yxat elementlari bo’ylab takrorlanish 
son=[44,7,19,3,9,80,10]
for i in range(0,7):
     if i%2==0:
         print(son[i]) 4 ) 0 qiymatga ega 5 ta elementdan tarkib topgan ro‘yxat hosil bo‘ladi.
Javob: [0, 0, 0, 0, 0] Ro’yxat elementlari bo’ylab takrorlanish 
a=[0 for i in range(5)]
print(a) 5) elementlari 0 dan 5 gacha bo‘lgan sonlar kvadratlariga teng ro‘yxat 
hosil bo‘ladi.
Javob: [0, 1, 4, 9, 16] Ro’yxat elementlari bo’ylab takrorlanish 
n=5
a=[i**2 for i in range(n)]
print(a) 5) random modulining randrange funksiyasini qo‘llab, 1 dan 10 gacha 
bo‘lgan  sonlar  orasidan  tasodifiylari  tanlab  olingan  ro‘yxat  hosil 
bo‘ladi;
Javob: [5, 5, 1, 1, 7, 8, 7, 8, 9, 9] Ro’yxat elementlari bo’ylab takrorlanish 
from random import randrange
n=10
a=[randrange(1,10) for i in range(n)]
print(a) Ro’yxatning  oxiriga  yangi  element  qo’shish  uchun  append() 
funksiyasi ishlatiladi.
ism=['ali','vali','soli','xoli']
ism.append('toir')
print(ism) Ro’yxatga element qo’shish  1)  a  =  [1,  2,  3,  4,  5,  6,  7]  ro’yxat  berilgan.  Quyidagi  ko’rinishda  hosil 
bo’luvchi dastur tuzing.  b = [1, 4, 9, 16, 25, 36, 49]Ro’yxatga element qo’shish 
a=[1,2,3,4,5,6,7]
b=[]
for i in a:
     b.append(i**2)
print('a={}\nb={}'.format(a,b))  
 
yoki print(f'a={a}\nb={b}') Ro’yxat  elementini  istalgan  o’rniga  element  qo’shishda  insert() 
funksiyasidan foydalanamiz. 
ism=['ali','vali','soli','xoli']
ism.insert(0,'toir')
print(ism) Ro’yxatga element qo’shish  1)  meva=['olma','anor','uzum','gilos']  ro’yxat  elementlari  berilgan. 
Ushbu ro’yxatni quyidagi ko’rinishda hosil qiluvchi dastur tuzing.
  meva=['nok', 'olma', 'nok', 'anor', 'nok', 'uzum', 'nok', 'gilos']  Ro’yxatga element qo’shish 
meva=['olma','anor','uzum','gilos']
for i in range(len(meva)):
     meva.insert(2*i,'nok')
print(meva) Ro’yxatdan  elementni  o’chirishda  remove(),  pop(),  clear() 
funksiyalaridan hamda  del  xizmatchi so’zidan foydalanamiz.
1)    remove()  funksiyasi orqali  ro’yxatdan  elementni o’chirishda uning 
indeksiga emas balki element nomiga murojaat qilinadi.
2)  pop()  funksiyasi  orqali  ro’yxatdan  elementni  o’chirishda  uning 
indeksi  bo’yicha  elementni  ro’yxatdan  o’chiradi. Agar  ro’yxat  indeksi 
ko’rsatilmasa  avtomatik  ravishda  ro’yxatning  oxirgi  elementini 
o’chiradi.
3)   clear()  funksiyasi ro’yxatdagi barcha elementlarni o’chiradi.
4)    del  xizmatchi  so’ziga  element  indeksi  ko’rsatilgan  holda  ro’yxat 
elementi o’chiriladi. Ro’yxat elementni o’chirish  Ro’yxat elementni o’chirish 
rang=['qizil','sariq','yashil','qora']
rang.remove('sariq')
print(rang)
Javob: ['qizil', 'yashil', 'qora']
rang=['qizil','sariq','yashil','qora']
rang.pop()
print(rang)
Javob: ['qizil', 'sariq', 'yashil'] rang=['qizil','sariq','yashil','qora']
rang.pop(2)
print(rang)
Javob: ['qizil', 'sariq', 'qora']
rang=['qizil','sariq','yashil','qora']
rang.clear()
print(rang)
Javob: [ ] rang=['qizil','sariq','yashil','qora']
del rang[0]
print(rang)
Javob: ['sariq', 'yashil', 'qora'] 1)  rang=['qizil','sariq','yashil','qora']  ro’yxat  elementlari  berilgan. 
Ushbu ro’yxatni quyidagi ko’rinishda hosil qiluvchi dastur tuzing.
  rang=['qizil', 'sariq', 'ko`k', 'qora'] Ro’yxat elementni o’chirish 
rang=['qizil','sariq','yashil','qora']
rang.pop(2)
rang.insert(2,'ko`k')
print(rang) Ro’yxatdan  nusxa  olishda  copy()  va  list()  funksiyalaridan  foydalanish 
mumkin. 
rang=['qizil','sariq','yashil','qora']
rang_2=rang.copy()
print(rang_2)
rang=['qizil','sariq','yashil','qora']
rang_2=list(rang)
print(rang_2) Ro’yxatdan nusxa olish 1)  a=[12,52,63,42,85,96]  ro’yxat  elementlari  berilgan.  Ushbu  ro’yxatni  b  nomli 
ro’yxatga nusxalab, quyidagi ko’rinishda hosil qiluvchi dastur tuzing.
       b=[12, 52, 63, 42, 85, 96, 100] Ro’yxatdan nusxa olish
a=[12,52,63,42,85,96]
b=a.copy()
b.append(100)
print('b=',b) Ro’yxatlarni  birlashtirish  uchun  extend()  funksiyasi  yoki  “ + ”  belgisidan 
foydalanish mumkin.
a=[1,2,3,4,5,6]
b=[7,8,9,10,11]
a.extend(b)
print(a)
a=[1,2,3,4,5,6]
b=[7,8,9,10,11]
print(a+b) Ro’yxatlarni birlashtirish  1)  a=[1,2,3,4,5,6]  va   b=[7,8,9,10,11]  ro’yxatlarni  birlashtirib,  hosil  bo’lgan 
ro’yxatning  toq  indeksli  elementlarini  c=[2,  4,  6,  8,  10]  ro’yxatda  hosil  qiluvchi 
dastur tuzing. Ro’yxatlarni birlashtirish 
a=[1,2,3,4,5,6]
b=[7,8,9,10,11]
c=[]
a.extend(b)
for i in range(len(a)):
     if i%2!=0:
         c.append(a[i])
print(c) Ro’yxatdagi  bir  xil  elementlar  sonini  aniqlashda  count()  funksiyasidan 
foydalanamiz.    ishlatiladi.  index()  funksiyasi  berilgan  elementni  indeksini 
aniqlaydi,  agarda  bunday  elementlar  bir  nechta  bo’lsa,  faqat  birinchi  uchragan 
element indeksini aniqlaydi. 
a=[12,52,63,42,85,12]
b=a.count(12)
print(b)
a=[12,52,63,42,85,12]
b=a.index(12)
print(b) Ro’yxatdagi bir xil elementlarni sonini va indeksini aniqlash sort()  funksiyasi  ro’yxatni  tartiblaydi.  Berilgan  ro’yxat  elementlari  sonlardan 
tashkil  topgan  bo’lsa,  o’sish  tartibida,  satr  yoki  harflardan  iborat  bo’lsa,  alifbo 
bo’yicha tartiblaydi. 
reverse()  funksiyasi  ro’yxat  elementlarining  joriy  holatini  teskari  holatga 
o’zgartiradi. 
a=['xoli','toir','vali','soli','ali']    
a.sort()   
print(a)
a=['xoli','toir','vali','soli','ali']    
a.reverse()   
print(a) Ro’yxatni tartiblash 
Tuple   –  tartiblangan  va  o’zgarmas  ro’yxat.  Elementlarini 
dublikatlash mumkin. 

Kortej   -   elementlar  orasini  vergul  bilan  ajratish  orqali  hosil 
qilinadi. 
Tuple  ro’yxati    tartiblangan,  o’zgarmas  ro’yxat.  Uning 
elementlarini  o’zgartirib  bo’lmaydi.  Bu  ro’yxatni  oddiy  qavslar 
bilan yoki tuple() konstruktori bilan hosil qilinadi: 
Masalan:
a = ("olma", "anor", "shaftoli") 
b = tuple(("gilos", "nok", "xurmo")) 
print(a) 
print(b) Tuple (Kortej)  Tuple elementiga murojaat qilishda uning indeksiga ko’rsatiladi.
a = ("olma", "anor", "shaftoli") 
print(a[0]) 
Natija : olma
a = ("olma", "anor", "shaftoli") 
print(a[-1]) 
Natija : shaftoli
a = ("olma", "anor", "shaftoli","nok") 
print(a[1:3]) 
Natija : ('anor', 'shaftoli') Tuple (Kortej)  Tuple  ro’yxati    tartiblangan,  o’zgarmas  ro’yxat  deb  yuqorida  ta’kidladik, 
lekin  Tuple  ro’yxatini  avval  list  ro’yxatiga  aylantirib,  so’ngra  uning 
istalgan elementini almashtirish mumkin.
a = ("olma", "anor", "shaftoli","nok")
b=list(a)
b[2]="gilos"
a=tuple(b)
print(a)
Natija : ('olma', 'anor', 'gilos', 'nok') Element qiymatlarini o’zgartirish  Tuple to’plamida ham for takrorlanishdan foydalanib elementlarni tanlab olish 
mumkin.
a = ("olma", "anor", "shaftoli","nok")
for i in a:
     print(i)
Natija: 
olma
anor
shaftoli
nok Ro’yxatda takrorlash any()  -  agar  kortej  elementi  mavjud  bo`lsa  True   qiymat 
qaytaradi, aks holda (kortej bo`sh bo`lsa)  False  qiymat
max()  - kortejning maksimal elementini qaytaradi. 
min()  - kortejning minimal elementini qaytaradi. 
sorted()  -  kortej  elementlaridan  iborat  yangi  tartiblangan 
ro`yxatni qaytaradi. 
sum()  - kortej elementlari yig`indisini qaytaradi. qaytaradi. Kortejning funksiya va metodlari a = (1,2,3,4,5,6,7)
print(any(a))
Natija : True
a = ()
print(any(a))
Natija : False
a = ('',0,False)
print(any(a))
Natija : False any() funksiyasi
a = ('',0,True)
print(any(a))
Natija : True
a = ('',0,1,2,3)
print(any(a))
Natija : True
a = ('men','sen','ular')
print(any(a))
Natija : True a = (15,26,12,-9,15)
print(max(a))
Natija : 26
a = (15,26,12,-9,15)
print(min(a)) 
Natija : -9max(), min(), sorted(), sum() funksiyasi
a = (15,26,12,-9,15)
print(sorted(a))
Natija : [-9, 12, 15, 15, 26]
a = (15,26,12,-9,15)
print(sum(a)) 
Natija : 59 To‘plamlar  (set)  –  bitta  identifikator  ostida  har  xil 
takrorlanmaydigan  elementlar  to‘plamini  saqlovchi  ma’lumotlar 
turi. To’plamni hosil qilish uchun  maxsus qavslardan  yoki  set() 
  konstruktori ishlatiladi:  Set  (to’plam) 
a = {1,2,3,5,6,9}
print(a)
Natija : {1, 2, 3, 5, 6, 9}
a = set((1,2,3,5,6,9))
print(a)
  Natija :{1, 2, 3, 5, 6, 9} add()  fuksiyasi –to’plamga  bitta element  qo’shadi. 
update()  funksiyasi  –  B  to‘plamdagi  elementlarni  A  to‘plamga 
qo‘shadi. Masalan: A |= B           A.update(B)  To’plamga element qo’shish
a = {1,2,3,5,6,9}
a.add(10)
print(a) 
Natija : {1, 2, 3, 5, 6, 9, 10} a = {1,2,3,5,6,9}
a.update([10,11,12])
print(a)
  Natija : {1, 2, 3, 5, 6, 9, 10, 11, 12} Elementni  to’plamdan  pop()  funksiyasi  bilan  ham  o’chirish  mumkin. 
Ammo  pop()  funksiyasi  xususiyatiga  ko’ra  ro’yxatning  birinchi 
elementni o’chiradi. 
clear()  –  funksiyasi  to’plamni  tozalaydi,  ya’ni  barcha  elementlarini 
o’chiradi. To’plam elementlarini o’chirish
a = {1,2,3,5,6,9}
a.pop()
print(a)
Natija : {2, 3, 5, 6, 9}
a = {1,2,3,5,6,9}
a.clear()
print(a)
Natija:  set() remove()  –  to’plamdan elementni o’chiradi.
discard()  –  to’plamdan elementni o’chiradi.To’plam elementlarini o’chirish
a = {1,2,3,5,6,9}
a.remove(9)
print(a)
Natija : {1, 2, 3, 5, 6}
a = {1,2,3,5,6,9}
a.discard(9)
print(a)
Natija:  {1, 2, 3, 5, 6} union() -  A va B to‘plamini birlashtirib, yangi to‘plam hosil qiladi.
Masalan: A | B        A.union(B)  To’plamlarni birlashtirish
a = {1,2,3,5,6,9}
b = {10,11,12,13,14}
c=a.union(b)
print(c)
Natija : {1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 14} copy()  funksiyasi to’plamdan nusxa oladi.  To’plamdan nusxa olish
a = {1,2,3,5,6,9}
b=a.copy()
print(b)
Natija : {1, 2, 3, 5, 6, 9} 
A.difference(B)  A  va  B  to‘plamlarning  ayirmasi,  ya’ni  A 
to‘plamda  mavjud  va  B  to‘plamida  mavjud  bo‘lmagan 
elementlarini qaytaradi. Masalan: A - B     A.difference(B) 

  A.difference_update(B)  A  to‘plamdan  B  to‘plamda  mavjud 
elementlarni o‘chiradi. Masalan: A - B    A.difference_update(B) difference(), difference_update() funksiyalar
a = {1,2,3,5,6,9,12,16}
b = {5,2,6,3,8,12,11,14}
c=a.difference(b)
print(c)
  Natija : {16, 1, 9} a = {1,2,3,5,6,9,12,16}
b = {5,2,6,3,8,12,11,14}
a.difference_update(b)
print(a)
  Natija : {1, 9, 16} 
  A.intersection(B)  -  A  va  B  to‘plamlari  kesishmasi,  ya’ni  ikkala 
to‘plam  uchun  umumiy  bo‘lgan  elementlarni  oladi. 
Masalan:  A & B          A.intersection(B) 

  A.intersection_update(B)  A  to‘plamda  B  to‘plamda  mavjud 
elementlarni qoldiradi. Masalan: A&= B  A.intersection_update(B) intersection(), intersection_update() funksiyalar
a = {1,2,3,5,6,9,12,16}
b= {5,2,6,3,8,12,11,14}
c=a.intersection(b)
print(c)
  Natija : {2, 3, 5, 6, 12} a = {1,2,3,5,6,9,12,16}
b= {5,2,6,3,8,12,11,14}
a.intersection_update(b)
print(a)
Natija : {2, 3, 5, 6, 12} 
isdisjoint()    funksiyasi  agar  a  to’plamdagi  birorta  ham  element  b 
to’plamda mavjud bo’lmasa, rost qiymat qaytaradi.  isdisjoint() funksiyasi
a = {9,12,16}
b = {5,2,6,3}
c=a.isdisjoint(b)
print(c)
  Natija : True a = {9,12,16,5}
b = {5,2,6,3}
c=a.isdisjoint(b)
print(c)
Natija : False

MAVZU: PYTHONDA DASTURLASH. Reja : 1. Ro‘yxatlar (lists) bilan ishlash. 2. Kortejlar bilan ishlash. 3. To‘plamlar (set) bilan ishlash. 4. Lug‘atlar (dictionary) bilan ishlash.

Pythonda ma’lumot to’plamlarining turlari 4 turga bo’linadi.  List – tartiblangan va o’zgaruvchan ro’yxat. Elementlarini dublikatlash mumkin.  Tuple – tartiblangan va o’zgarmas ro’yxat. Elementlarini dublikatlash mumkin.  Set – Tartiblanmagan va indekslanmagan to’plam. Elementlari dublikatlanmaydi.  Dictionary – tartiblanmagan, o’zgaruvchan va indekslangan to’plam. Elementlari dublikatlanmaydi . MA’LUMOT TO’PLAMLARI VA TURLARI

List – tartiblangan va o’zgaruvchan ro’yxat. List- 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 kvadrat qavslar bilan yoki oddiy qavslar bilan hosil qilish mumkin: Kvadrat qavslar bilan e’lon qilish: a=["anor","olma","nok","gilos","shaftoli"] print(a) Oddiy qavslar bilan e’lon qilish: a=list(("anor","olma","nok","gilos","uzum")) print(a) List elementlariga murojaat qilish uchun, murojaat qilinayotgan elementning indeksi ko’rsatiladi. Sanoq har doimgidek 0 dan boshlanadi. LIST (RO’YXAT)

Manfiy indeks bu – sanoq oxiridan boshlanishini bildiradi. Masalan, -1 eng oxirgi, -2 oxiridan ikkinchi element. Masalan: fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] print(fan[-2]) Ro’yxatning elementlaridan bir nechtasini tanlab olish uchun indekslar oralig’i kiritiladi. Bunda uning boshlanish va oxirgi nuqtalari kiritiladi. Element tanlashda oxirgi element indeksini inobatga olmaymiz. Ya’ni boshlang’ich nuqtadan boshlanib oxirgi nuqtadan bitta oldingi elementgacha olinadi. fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] print(fan[1:3]) Manfiy indeks

fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] print(fan[:3]) fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] print(fan[1:]) List ro’yxatidagi istalgan element qiymatini o’zgartirish mumkin. Bunda ro’yxat indeksiga murojaat qilinadi va yangi qiymat beriladi. fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] fan[0]='Informatika' print(fan) fan = ['Fizika', 'Matematika','Kimyo','Adabiyot'] fan[0]='Informatika'; fan[2]= 'Biologiya' print(fan) Element qiymatini o’zgartirish