#14 lug'at bilan tanishuv



Download 1,11 Mb.
bet28/29
Sana08.07.2022
Hajmi1,11 Mb.
#757720
1   ...   21   22   23   24   25   26   27   28   29
Bog'liq
piton

map() FUNKSIYASI
Bu funksiya argument sifatida ro'yxat (yoki lug'at) va boshqa bir funksiyani qabul qilib, ro'yxat elementlariga qabul qilingan funksya yordamida ishlov beradi. Tushunarli bo'lish uchun quyidagi misolni ko'ramiz.
1
from math import sqrt
2

3
sonlar = list(range(11)) # 0 dan 10 gacha sonlar ro'yxati
4
ildizlar = list(map(sqrt,sonlar))
Copied!
Yuqoridagi misolda avval 0 dan 10 gacha sonlar ro'yxatini tuzib oldik, keyin esa map funksiyasiga ro'yxat va sqrt funksiyasini uzatib, ro'yxatdagi barcha sonlarning ildizini hisoblab oldik.
map() funksiyasi map obyekt qaytargani sababli, qaytgan obyektni ro'yxatga o'tkazib olish uchun list() funksiyasidan foyydalandik.
Yana bir misol ko'ramiz:
1
sonlar = list(range(11)) # 0 dan 10 gacha sonlar ro'yxati
2

3
def daraja2(x):
4
"""Berilgan sonning kvadratini qaytaruvchi funksiya"""
5
return x*x
6

7
print(list(map(daraja2,sonlar))) # sonlar ning kvadratini hisoblaymiz
Copied!
Natija: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Yuqoridagi misolda biz avval berilgan sonning kvadratini hisoblovchi funksiya yaratib oldik, undan keyin esa map yordamida sonlar ro'yxatidagi elementlarning kvadratini ham hisoblab oldik.
Endi keling huddi shu misolni lambda yordamida yozamiz:
1
kvadratlar = list(map(lambda x:x*x,sonlar))
2
print(kvadratlar)
Copied!
Natija: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Yuqoridagi misolda, endi daraja degan funksiyani yaratib o'tirmasdan, to'g'ridan-to'g'ri map() ni ichiga darajani hisoblovchi lambda funksiya uzatdik.
map() funksiyasi bo'lmaganida biz bunday dasturlarni for yordamida yozishimiz kerak bo'lar edi:
1
kvadratlar = []
2
for son in sonlar:
3
kvadratlar.append(son*son)
Copied!
map() funksiyasiga bir nechta ro'yxatlar ham uzatish mumkin:
1
a = [4, 5, 6]
2
b = [7, 8, 9]
3
a_plus_b = list(map(lambda x,y:x+y,a,b))
4
print(a_plus_b)
Copied!
Natija: [11, 13, 15]
map() istalgan ko'rinishdagi ma'lumot turlari bilan ishlaydi:
1
ismlar = ['hasan','husan','olim','umid']
2
print(list(map(lambda matn:matn.upper(),ismlar)))
Copied!
Natija: ['HASAN', 'HUSAN', 'OLIM', 'UMID']

Download 1,11 Mb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   29




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish