Python dasturlash maktabi
Funksiyalar (vazifalar) Oldindan belgilangan funksiyalarni ishlatishdan tashqari, def operatoridan foydalanib o'zingizning funksiyalaringizni yaratishingiz mumkin. Funksiya xuddi o'zgaruvchilarga o'xshab oldin yoziladi va keyin chaqiriladi. Funksiyadagi kod…
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
#—————————————-#
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.
<map object at 0x0000000002798130>
<class 'map'>
['A', 'B', 'C', 'D']
#—————————————-#
Ro'yxat elementlarini funktsiyaga birma-bir uzatish va keyin natijalarni to'plash uslubi
Map va lambda funksiyasi yordamida buni juda sodda va chiroyli tarzda amalga oshirish mumkin.
#—————————————-#
2 ta funksiyani 1 ta map() funksiya ichida foydalanamiz
[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.
#—————————————-#
#—————————————-#
Olimpiada musoboqalarida ushbu kod ko'p qo'llaniladi.
[2, 5, 8]
#—————————————-#
Map funksiyasida ichki funksiyalar va ma'lumot turlaridan foydalanishingiz mumkin.
Sonlarni darajasini hisoblash
son
3 ni 5-darajasini hisoblash
[42, 5, 0.1, 7, 21.3]
[-42.0, -5.0, 0.1, 7.0, 21.3]
[-42, -5, 0, 7, 21]
[9, 6, 6, 9, 7]
['@pythonuz', 'Kanali', 'Admini', 'Nematillo', 'Ochilov']
['@PYTHONUZ', 'KANALI', 'ADMINI', 'NEMATILLO', 'OCHILOV']
['@pythonuz', 'kanali', 'admini', 'nematillo', 'ochilov']
['@pythonuz', 'dastur']
['@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
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):
return argument.upper()
Map funksiyasini ichida ishlov beruvchi funksiya nomi qavssiz yoziladi va 1 ta verguldan so'ng argument yoziladi.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 uslubi
sonlar = [1, 2, 3, 4, 5]
daraja = []
for i in sonlar:
daraja.append(i**2)
print(daraja)
[1, 4, 9, 16, 25]Map va lambda funksiyasi yordamida buni juda sodda va chiroyli tarzda amalga oshirish mumkin.
sonlar = [1, 2, 3, 4, 5]
print(list(map(lambda x: x**2, sonlar)))
[1, 4, 9, 16, 25]#—————————————-#
2 ta funksiyani 1 ta map() funksiya ichida foydalanamiz
def multiply(x):
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)
[0, 0][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"]
natija = list(map(lambda x: x[0] == "O", mevalar))
print(natija)
[True, False, False, True, False]#—————————————-#
satr = ['a', 'b', 'c', 'd', 'e']
son = [1,2,3,4,5]
natija = list(map(lambda x, y: (x, y), satr, son))
print(natija)
[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5)]#—————————————-#
Olimpiada musoboqalarida ushbu kod ko'p qo'llaniladi.
royxatlash = list(map(int, input('Son kiriting: ').split()))
print(royxatlash)
Son kiriting: 2 5 8[2, 5, 8]
#—————————————-#
Map funksiyasida ichki funksiyalar va ma'lumot turlaridan foydalanishingiz mumkin.
Sonlarni darajasini hisoblash
son
= [1, 2, 3, 4, 5]
daraja = [3, 4, 5, 6, 7]
print(list(map(pow, son, daraja)))
[1, 16, 243, 4096, 78125]3 ni 5-darajasini hisoblash
print(3*3*3*3*3)
243sonlar = [-42, -5, 0.1, 7, 21.3]
print(list(map(abs, sonlar)))
# manfiy sonlarni musbatga o'girish[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"]
print(list(map(len, satrlar)))
# elementlardagi belgilar soni[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