map, filter, reduce
🐍 Python Functional Programming map(), filter(), reduce() – বিস্তারিত গাইড
Python-এ Functional Programming একটি শক্তিশালী প্রোগ্রামিং স্টাইল যেখানে function কে data হিসেবে ব্যবহার করা হয়। এই স্টাইলে সবচেয়ে বেশি ব্যবহৃত তিনটি ফাংশন হলো map, filter এবং reduce।
📌 Functional Programming কী?
- Loop ছাড়াই collection এর উপর কাজ করা যায়
- Code হয় ছোট, পরিষ্কার এবং readable
- Data immutability বজায় থাকে
- Complex logic সহজ হয়
🔹 map() ফাংশন
map() একটি iterable (list, tuple ইত্যাদি) এর প্রতিটি element-এর উপর একটি function apply করে এবং একটি নতুন iterable রিটার্ন করে।
🧠 Syntax:
map(function, iterable)
📝 উদাহরণ: একটি list এর প্রতিটি সংখ্যার square বের করা
numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * x, numbers)
print(list(result))
✅ Output:
[1, 4, 9, 16, 25]
🔹 filter() ফাংশন
filter() একটি iterable থেকে নির্দিষ্ট শর্ত অনুযায়ী element বেছে নেয়।
যেগুলোর জন্য function True রিটার্ন করে, সেগুলোই রাখা হয়।
🧠 Syntax:
filter(function, iterable)
📝 উদাহরণ: শুধু even সংখ্যা বের করা
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
result = filter(lambda x: x % 2 == 0, numbers)
print(list(result))
✅ Output:
[2, 4, 6, 8]
🔹 reduce() ফাংশন
reduce() একটি iterable এর সব element কে একটিমাত্র value-তে রূপান্তর করে।
এটি ব্যবহার করতে functools module থেকে import করতে হয়।
🧠 Syntax:
from functools import reduce
reduce(function, iterable)
📝 উদাহরণ: সব সংখ্যার যোগফল বের করা
from functools import reduce
numbers = [1, 2, 3, 4, 5]
result = reduce(lambda a, b: a + b, numbers)
print(result)
✅ Output:
15
📊 map vs filter vs reduce
| Function | কাজ | Output |
|---|---|---|
| map() | সব element পরিবর্তন করে | নতুন iterable |
| filter() | শর্ত অনুযায়ী element নেয় | filtered iterable |
| reduce() | সব element combine করে | একটি value |
✨ সংক্ষেপে মনে রাখবেন
- map() → পরিবর্তন
- filter() → বাছাই
- reduce() → একত্রিত
✔ এই তিনটি ফাংশন ভালোভাবে বুঝলে Python-এ Clean & Professional Code লেখা অনেক সহজ হয়ে যাবে।
লোড হচ্ছে...
1. map() কী করে?
প্রতিটি element এ function প্রয়োগ করে।
2. filter() কী?
শর্ত অনুযায়ী element নেয়।
3. reduce() কী?
একাধিক মান কমিয়ে একটি মানে আনে।