|
Zbekiston respublikasi raqamli texnologiyalar vazirligi muxammad al-xorazimiy nomidagi toshkent axborot texnologiyalari universiteti
|
bet | 2/3 | Sana | 22.12.2023 | Hajmi | 314,92 Kb. | | #127156 |
Bog'liq ML mustList va Matritsalar
Pythonda List – bu ketma – ket kelgan o“zgaruvchilar hisoblanadi(boshi va oxiriga [ ] qavslari qo“yiladi)(Listlarni indekslash 0 dan boshlanadi).
Bo“sh list e“lon qilish
lst = []
List turiga o“tish list() funksiyasi orqali amalga oshiriladi.
List larni konsetenatsiya(birlashtirish), elementlar qo“shish, o“chirish, teskari tartibga keltirish kabi amallari bor.
lst = [1, 3, 2, 4]
hst = [23, 4, 3]
print(len(lst)) # 4 (Listning o“lchamini aniqlash)
print(lst + hst) # [1, 3, 2, 4, 23, 4, 3]
lst.append(7) # [1, 3, 2, 4, 7]
lst.insert(0, 3) # [0, 1, 3, 2, 4]
lst.pop() # [1, 3, 2] (Oxirgi elementini o“chiradi)
lst.pop(1) # [1, 2, 4] (1 – indeksda turgan element o“chirildi)
lst.remove(2) # [1, 3, 4] (Chap tomondan kelgan eng birinchi 2 o“chirildi)
del lst[2] # [1, 3, 4] (2 – indeksdagi element o“chirildi)
print(list(reversed(hst))) # [3, 4, 23] (List teskari tartibga keltirildi)
lst = [-2] * 20 # 20 o“lchamli list yaratildi, har bir element -2 ga teng
Listlar biz turli matematik muammolarni yechish uchun foydalanishimiz mumkin, misol uchun skalyar ko“paytmani topish, 2 vektor orasidagi burchakni topish kabi masalalarda.
Misol:
avek = [3, 2, 4, 1]
bvek = [0, 2, 9, 5]
def skalyar_kopaytma(al, bl):
n = len(al)
skk = 0
for i in range(n):
skk += al[i] * bl[i]
return skk
def uzunlik(vek):
length = 0
for i in vek:
length += i * i
return length ** 0.5
def burchak(avek, bvek):
return math.acos(skalyar_kopaytma(avek, bvek) / uzunlik(avek) / uzunlik(bvek)) * 180 / math.pi
print(skalyar_kopaytma(avek, bvek)) # 45
print(burchak(avek, bvek)) # 38.4317(gradusda)
Pythonda matritsa — 2 o’lchovli list hisoblanadi. Bo’sh matritsa bilan ishlash qiyinroq bo’lgani uchun avvaldan o’lchamlarini berib e’lon qilish lozim
n x m o’lchamli matritsani e’lon qilish:
mts = [[] * m for _ in range(n)]
Agar to’liqligicha e’lon qilish paytida qiymatlarni berib ketmoqchi bo’lsak:
mts = [[3, 2, 3, 3],
[3, 2, 3, 3],
[3, 2, 3, 3]]
kabi e’lon qilib ketamiz.
Matritsalar bilan matematikadagi barcha amallarni bajarishimiz mumkin.
Matritsalarni ko’paytirish masalasini ko’rib chiqamiz:
amat = [[3, 2, 3, 3],
[3, 2, 3, 3],
[3, 2, 3, 3]]
bmat = [[3, 2],
[4, 1],
[7, 6],
[8, 4]]
def kopaytir(amat, bmat):
n = len(amat)
m = len(amat[0])
k = len(bmat[0])
cmat = [[0] * k for _ in range(n)]
for i in range(n):
for j in range(k):
for x in range(m):
cmat[i][j] += amat[i][x] * bmat[x][j]
return cmat
print(kopaytir(amat, bmat)) # [[62, 38], [62, 38], [62, 38]]
Sikl operatorlari va Funksiyalar
Pythonda 2 turdagi sikl operatorlari bor: for va while
Ko“pincha for operatoridan foydalaniladi. For operatori bilan ishlashda odatda range obyekti bilan 2 o“zgaruvchi beriladi: start, end (Bu [start, end) yariminterval bilan bir xil oraliqni beradi), shuningdek, uchinchi o“zgaruvchi step ham beriladi, bu iteratsiya qilinayotgan sonlar orasi qancha bo“lishi kerakligini ifodalaydi.
for in :
Misol: 10 bilan 99 orasidagi 13 ga karrali chop etish.
for i in range(10, 99):
if i % 13 == 0:
print(i, end = ' ')
Xuddi shu 13 ga bo“linadigan sonlarni teskari tartibda chop etishimiz uchun esa:
for i in range(98, 9):
if i % 13 == 0:
print(i, end = ' ')
Biz for operatorini list, set yoki dict bilan ishlatish uchun shunchaki in dan keyin ketma-ketlik turidagi obyekt o“zgaruvchisi nomini yozib qo“ysak kifoya.
While operatori bilan ishlagan boshqacharoq holat kuzatiladi(tuzilish jihatidan for bilan deyarli bir xil):
while :
While ishtirokida bir masala ko“raylik:
100 gacha bo“lgan tub sonlarni aniqlang
i = 2
while i <= 100:
tub = True
j = 2
while j * j <= i:
if i % j == 0:
tub = False
break
j += 1
if tub:
print(i, end = ' ')
i += 1
Pythonda funksiyalar bilan ishlash ancha qulay: Funksiyani e“lon qilish qilishdan avval def kalit so“zi va funksiya nomi ishlatiladi, keyin argumentlar berish lozim bo“lsa, qavs ichida argumentlar berib ketiladi.
def ():
Funksiyani qiymat qaytaradigan yoki qaytarmasligiga qarab turib qaysidur joyini o“zgartirmaymiz(C++ dasturlash tilida qiymat qaytarmaydigan funksiya yozadigan bo“lsak, void kalit so“zini yozishimiz shart edi).
Funksiyaga misol:
def ekub(a, b):
while a and b:
a, b = b, a % b
return a + b
print(ekub(1001, 234)) # 13
Hozir biz mashinali o’qitish uchun pythonning fundamental qismlarini ko’rib chiqdik, endi pandas kutubxonasi bilan ishlashni ko’rib chiqamiz.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Zbekiston respublikasi raqamli texnologiyalar vazirligi muxammad al-xorazimiy nomidagi toshkent axborot texnologiyalari universiteti
|