বাংলায় পাইথন
  • পরিচিতি
  • ইনস্টলেশন
  • ব্যাসিক কনসেপ্ট
    • সাধারণ কিছু অপারেশন
    • আরও কিছু নিউমেরিক অপারেশন
    • স্ট্রিং
    • ব্যাসিক ইনপুট আউটপুট
    • স্ট্রিং অপারেশন
    • টাইপ কনভার্সন
    • ভ্যারিয়েবল
    • ইনপ্লেস অপারেটর
    • এডিটর এর ব্যবহার
  • কন্ট্রোল স্ট্রাকচার
    • বুলিয়ান
    • if স্টেটমেন্ট
    • else স্টেটমেন্ট
    • বুলিয়ান লজিক
    • অপারেটর প্রেসিডেন্স
    • while লুপ
    • লিস্ট
    • লিস্ট অপারেশন
    • লিস্ট ফাংশন
    • রেঞ্জ
    • for লুপ
  • গুরুত্বপূর্ণ ডাটা টাইপ
    • None
    • ডিকশনারি
    • ডিকশনারি ফাংশন
    • টাপল
    • আবারও লিস্ট
    • লিস্ট ও ডিকশনারি কম্প্রিহেনশন
  • ফাংশন ও মডিউল
    • কোডের পুনব্যবহার
    • ফাংশন
    • ফাংশন আর্গুমেন্ট
    • ফাংশন রিটার্ন
    • কমেন্ট ও ডক স্ট্রিং
    • অবজেক্ট হিসেবে ফাংশন
    • মডিউল
    • স্ট্যান্ডার্ড লাইব্রেরী
    • pip
  • ফাইল ও এক্সেপশন
    • এক্সেপশন
    • এক্সেপশন হ্যান্ডেলিং
    • finally
    • এক্সেপশন Raise
    • Assertions
    • ফাইল খোলা
    • ফাইল পড়া
    • ফাইলে লেখা
    • ফাইল নিয়ে সঠিক কাজ
  • ফাংশনাল প্রোগ্রামিং
    • ভূমিকা
    • ল্যামডা
    • ম্যাপ ও ফিল্টার
    • জেনারেটর
    • ডেকোরেটর
    • রিকারসন
    • সেট
    • itertools
  • অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
    • ক্লাস
    • ইনহেরিটেন্স
    • ম্যাজিক মেথড
    • অপারেটর অভারলোডিং
    • অবজেক্ট লাইফ সাইকেল
    • ডাটা হাইডিং
    • স্ক্লাস মেথড ও ট্যাটিক মেথড
    • প্রোপার্টিস
  • রেগুলার এক্সপ্রেশন
    • পরিচিতি
    • মেটা ক্যারেক্টার
    • ক্যারেক্টার ক্লাস
    • গ্রুপ
    • স্পেশাল সিকুয়েন্স
  • অতিরিক্ত কিছু বিষয়
    • পাইথনিকনেস
    • PEP
    • main
    • # -- coding: utf-8 --
    • #! /usr/bin/env python
    • CPython
    • ডকুমেন্টেশন পড়া
  • প্যাকেজিং
Powered by GitBook
On this page
  1. ফাংশনাল প্রোগ্রামিং

itertools

PreviousসেটNextঅবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং

Last updated 6 years ago

এই চ্যাপ্টারটি সর্বশেষ হালনাগাদ হয়েছেঃ সময়ে

এটি পাইথনের একটি স্ট্যান্ডার্ড মডিউল যার বেশ কিছু ফাংশন ব্যবহৃত হয় ফাংশনাল প্রোগ্রামিং এর সময়। যেমন, count ফাংশন একটি নির্দিষ্ট ভ্যালু থেকে ইনফিনিট পর্যন্ত হিসাব করে। cycle ফাংশন একটি iterable কে ইনফিনিট পর্যন্ত ইটারেট করে। repeat ফাংশন ইনিফিনিট অথবা একটি নির্দিষ্ট পরিমাণ পর্যন্ত একটি অবজেক্টকে রিপিট করে।

উদাহরণ,

from itertools import count

for i in count(3):
    print(i)
    if i >= 11:
        break

আউটপুট,

3
4
5
6
7
8
9
10
11

যেমন কোন ইটারেবল এর উপর কাজ করে তেমনি itertools এর বেশ কিছু ফাংশন যেকোনো রকম iterable যেমন লিস্ট, ডিকশনারি এর উপর কাজ করতে সাহায্য করে। যেমন accumulate ফাংশনের মাধ্যমে একটি লিস্টের সব গুলো ভ্যালুর রানিং টোটাল পাওয়া সম্ভব।

উদাহরণ,

from itertools import accumulate

my_numbers = [1, 2, 3, 4, 5, 6]
accumulated_numbers = accumulate(my_numbers)
list_of_accu_nums = list(accumulated_numbers)
print(list_of_accu_nums)

আউটপুট,

[1, 3, 6, 10, 15, 21]

উদাহরণ,

from itertools import takewhile

my_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums_less_equal_six = takewhile(lambda x: x <= 6, my_numbers)
filtered_numbers = list(nums_less_equal_six)
print(filtered_numbers)

আউটপুট,

[1, 2, 3, 4, 5, 6]

আরও ফাংশন এবং উদাহরণ,

from itertools import product, permutations

letters = ("A", "B")
print(list(product(letters, range(2))))
print(list(permutations(letters)))

আউটপুট,

[('A', 0), ('A', 1), ('B', 0), ('B', 1)]
[('A', 'B'), ('B', 'A')]

আরেকটি মজার ফাংশন takewhile যার নাম শুনেই বোঝা যাচ্ছে এটা কিছু সময় পর্যন্ত কিছু একটা নিয়ে নেয়। আর আগেই বলা হয়েছে এর অপারেশন হতে পারে যেকোনো ইটারেবলের উপর। এটা সেই সব ভ্যালুকে বের করে নেয় যেগুলোর জন্য একটি নির্দিষ্ট প্রেডিকেট সত্য হয়। নিচের উদাহরণে lambda x: x <= 6 ল্যাম্বডাটি একটি প্রেডিকেট। ল্যাম্বডা নিয়ে পড়তে হবে

সংকলন -

ম্যাপ ও ফিল্টার
এখানে
নুহিল মেহেদী