tgoop.com/pythonuz/604
Last Update:
map() funksiyasi
Pythonda map() funksiyasi funksiya va argumentni qabul qilib, funksiyaga asoslanib argumentga ishlov beradi va qiymat qaytaradi.
Afzalligi: kam kod yoziladi, sikllardan foydalanish shart emas, xotiradan faqat bir marta vaqtincha foydalanadi
#—————————————-#def func(argument):
Map funksiyasini ichida ishlov beruvchi funksiya nomi qavssiz yoziladi va 1 ta verguldan so'ng argument yoziladi.
return argument.upper()
Funksiya argument sifatida ro'yxat ['a', 'b'], massiv [1, 4, 12], lug'at {1: 'a', 42: 'school'}, kortej (12, 42), to'plam {1, 1, 2, 3, 5, 5} va boshqa ma'lumotlar qabul qilishi mumkin.m = map(func, {'a', 'b', 'c', 'd'})
print(m)
# map() funksiyasi map obyektini qaytaradi
<map object at 0x0000000002798130>print(type(m))
# obyekt turini aniqlaymiz
<class 'map'>print(list(m))
# map obyektni ro'yxatga o'tkazib olish uchun list() funksiyasidan foydalaniladi
['A', 'B', 'C', 'D']
#—————————————-#
Ro'yxat elementlarini funktsiyaga birma-bir uzatish va keyin natijalarni to'plash uslubisonlar = [1, 2, 3, 4, 5]
[1, 4, 9, 16, 25]
daraja = []
for i in sonlar:
daraja.append(i**2)
print(daraja)
Map va lambda funksiyasi yordamida buni juda sodda va chiroyli tarzda amalga oshirish mumkin.sonlar = [1, 2, 3, 4, 5]
[1, 4, 9, 16, 25]
print(list(map(lambda x: x**2, sonlar)))
#—————————————-#
2 ta funksiyani 1 ta map() funksiya ichida foydalanamizdef multiply(x):
[0, 0]
return (x*x)
def add(x):
return (x+x)
funcs = [multiply, add]
for i in range(5):
value = list(map(lambda x: x(i), funcs))
print(value)
[1, 2]
[4, 4]
[9, 6]
[16, 8]
#—————————————-#
Map funksiyasi yordamida birinchi harfi katta 'O' harfi bilan boshlanadigan mevalarga True qolganlariga False natija chop etish.mevalar = ["Olma", "Gilos", "Banan", "Olcha", "Uzum"]
[True, False, False, True, False]
natija = list(map(lambda x: x[0] == "O", mevalar))
print(natija)
#—————————————-#satr = ['a', 'b', 'c', 'd', 'e']
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]
son = [1,2,3,4,5]
natija = list(map(lambda x, y: (x, y), satr, son))
print(natija)
#—————————————-#
Olimpiada musoboqalarida ushbu kod ko'p qo'llaniladi.royxatlash = list(map(int, input('Son kiriting: ').split()))
Son kiriting: 2 5 8
print(royxatlash)
[2, 5, 8]
#—————————————-#
Map funksiyasida ichki funksiyalar va ma'lumot turlaridan foydalanishingiz mumkin.
Sonlarni darajasini hisoblash
son = [1, 2, 3, 4, 5]
[1, 16, 243, 4096, 78125]
daraja = [3, 4, 5, 6, 7]
print(list(map(pow, son, daraja)))
3 ni 5-darajasini hisoblashprint(3*3*3*3*3)
243sonlar = [-42, -5, 0.1, 7, 21.3]
# manfiy sonlarni musbatga o'girish
print(list(map(abs, sonlar)))
[42, 5, 0.1, 7, 21.3]print(list(map(float, sonlar)))
# haqiqiy songa o'girish
[-42.0, -5.0, 0.1, 7.0, 21.3]print(list(map(int, sonlar)))
# butun songa o'girish
[-42, -5, 0, 7, 21]satrlar = ["@pythonuz", "kanali", "admini", "Nematillo", "Ochilov"]
# elementlardagi belgilar soni
print(list(map(len, satrlar)))
[9, 6, 6, 9, 7]print(list(map(str.capitalize, satrlar)))
# Satrlarning birinchi harfini katta harfga o'girish
['@pythonuz', 'Kanali', 'Admini', 'Nematillo', 'Ochilov']print(list(map(str.upper, satrlar)))
# Satrlarning hamma harfini katta harfga o'girish
['@PYTHONUZ', 'KANALI', 'ADMINI', 'NEMATILLO', 'OCHILOV']print(list(map(str.lower, satrlar)))
# Satrlarning hamma harfini kichik harfga o'girish
['@pythonuz', 'kanali', 'admini', 'nematillo', 'ochilov']print(list(map(str.strip, [" @pythonuz ", " dastur"])))
# Satrlardagi bo'sh joylarni o'chirish
['@pythonuz', 'dastur']print(list(map(lambda s: s.strip("."), ["..@pythonuz...", ".dastur..."])))
# Satrlardagi nuqtalarni o'chirish
['@pythonuz', 'dastur']
Darslar Nematillo Ochilov tomonidan dasturlashdagi tajribalari asosida tayyorlandi.
Kanalga yangi tashrif buyurganlarga:
Python dasturlash tilini 0dan o'rganishni ushbu mavzudan 👈 boshlang.
Testlarni tushunmasdan belgilamang.Izohlarda faol boʻlinglar.
#map #funksiya
@pythonuz
BY Python dasturlash maktabi
Share with your friend now:
tgoop.com/pythonuz/604