⊗pyPmFnMa 17 of 129 menu

Python da ob'ektlarni iteratsiya qilish uchun map funksiyasi

Faraz qilaylik, bizda raqamlarni kvadratga oshirish uchun square funksiyasi bor. Va bizga shu funksiyani elementlariga qo'llash kerak bo'lgan ro'yxat mavjud:

def square(num): return num ** 2 lst = [2, 3, 6, 8, 15]

Python da bu masalani hal qilish uchun maxsus map funksiyasidan foydalanish mumkin. U parametr sifatida funksiya va unga qo'llash kerak bo'lgan ro'yxatni qabul qiladi. Keling, misolni yechish uchun map dan foydalanaylik:

res = map(square, lst) print(res)

Har bir ro'yxat, har qanday murakkab ob'ekt kabi, Python ning tizim xotirasida ko'p joy egallaydi. Shuning uchun resurslarni tejash maqsadida kod bajarilgandan so'ng yangi ro'yxat emas, balki maxsus iteratsiya qilinadigan map-ob'ekt qaytariladi:

<map object at 0x000001F16674BA00>

Keling, uni tsikl bilan aylantiramiz:

for el in res: print(el)

Natijada yangi ro'yxatning barcha elementlari chiqadi:

4 9 36 64 225

Map-ob'ektdan yangi ro'yxat yaratish uchun unga list funksiyasini qo'llash kerak:

lst = [2, 3, 6, 8, 15] res = map(square, lst)

Natijada quyidagi ro'yxat chiqadi:

[4, 9, 36, 64, 225]

Shuningdek, map funksiyasi bilan ishlashda birinchi parametrda lambda-funksiyani ham belgilash mumkin. Keling, oldingi misolni lambda-funksiya yordamida qayta yozamiz:

res = map(lambda num: num ** 2, lst, lst) print(list(res))

Quyidagi kodni lambda-funksiya orqali qayta yozing:

def func(num): return num + 1 lst = [1, 2, 3, 4, 5] res = map(func, lst) print(list(res))

Quyidagi kodni lambda-funksiya orqali qayta yozing:

def func(txt): return txt[::-1] lst = ['123', '456', '789'] res = map(func, lst) print(list(res))
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish