বাংলায় পাইথন
  • পরিচিতি
  • ইনস্টলেশন
  • ব্যাসিক কনসেপ্ট
    • সাধারণ কিছু অপারেশন
    • আরও কিছু নিউমেরিক অপারেশন
    • স্ট্রিং
    • ব্যাসিক ইনপুট আউটপুট
    • স্ট্রিং অপারেশন
    • টাইপ কনভার্সন
    • ভ্যারিয়েবল
    • ইনপ্লেস অপারেটর
    • এডিটর এর ব্যবহার
  • কন্ট্রোল স্ট্রাকচার
    • বুলিয়ান
    • 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. কন্ট্রোল স্ট্রাকচার

লিস্ট ফাংশন

এই চ্যাপ্টারে আমরা লিস্ট নিয়ে কাজ করার জন্য এর কিছু বিল্ট-ইন মেথড এবং কিছু ফাংশনের ব্যবহার দেখবো। লিস্ট ম্যানিপুলেশনের জন্য কি কি মেথড এভেইলেবল আছে সেগুলো আমরা কিভাবে জানতে পারি? সে জন্য একটা ছোট্ট টি প্স দিচ্ছিঃ টার্মিনালে, IDLE -তে অথবা যেখানে পাইথন কোড রান করছেন সেখানে dir(list) লিখে এন্টার/রান/প্রিন্ট করে দেখতে পারেন। নিচের মত আউটপুট পেয়ে যাবেন -

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

একটা লিস্ট রিটার্ন হয়েছে। তাই তো? শেষের দিকে খেয়াল করুন - ...append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] অর্থাৎ এগুলো মেথড বিল্ট ইন আছে লিস্ট ম্যানিপুলেশনের জন্য। অর্থাৎ list অবজেক্টের সব গুলো অ্যাট্রিবিউট এবং মেথড এর তালিকা দেখার জন্য এটি ব্যবহার করতে পারেন। এটি শুধু যে list এর ক্ষেত্রেই কাজ করবে তা নয়। dir() এর মধ্যে অন্যান্য অবজেক্ট পাস করেই দেখুন না।

append যা হোক, তো আমরা জানতে পারলাম list এর মধ্যে append, insert ইত্যাদি করা যেতে পারে। তাহলে চলুন append ট্রাই করে দেখি। কিন্তু এটা কিভাবে কাজ করে সেটাও কারো কাছে না জিজ্ঞেস করেও জেনে নিতে পারেন। আরও একটা টিপ্স, রান করুন: help(list.append) আর নিচের মত আউটপুট আসবে -

Help on method_descriptor:

append(...)
    L.append(object) -- append object to end

অর্থাৎ এই মেথডের কাজ কি সেটা দেখা যাচ্ছে এবং বলা আছে append object to end. অর্থাৎ কোন একটি লিস্টের শেষে নতুন এলিমেন্ট যুক্ত করতে এই মেথড ব্যবহার করা যাবে। তাহলে উদাহরণ দেখে নেই -

nums = [1, 2, 3]
nums.append(4)
print(nums)

আউটপুট,

[1, 2, 3, 4]

insert প্রায় একই রকম কিন্তু একটু আলাদা কারনে ব্যবহার করা যেতে পারে insert মেথড। নিচের মত করে -

words = ["A", "C"]
index = 1
words.insert(index, "B")

print(words)

আউটপুট,

['A', 'B', 'C']

অর্থাৎ, লিস্টের কোন একটি নির্দিষ্ট পজিশনে বা ইনডেক্সে কোন এলিমেন্ট যুক্ত করতে চাইলে append এ কাজ হবে না (কারন এটা শেষে যুক্ত করে) বরং insert ব্যবহার করতে হবে। insert মেথডের দুটো প্যারামিটার - প্রথমটি হচ্ছে লিস্টের কোন পজিশনে নতুন এলিমেন্ট যুক্ত করতে চান আর দ্বিতীয় প্যারামিটারটি হচ্ছে যে এলিমেন্ট যুক্ত করতে চান সেটি নিজেই। উপরের উদাহরণে, আমরা words লিস্টের দ্বিতীয় পজিশন তথা 1 ইনডেক্সে B কে যুক্ত করেছি।

index আরও একটি মেথডের ব্যবহার দেখি। যেমন - index. নিচের উদাহরণে আমরা যেকোনো একটি এলিমেন্ট লিস্টের কোন ইনডেক্সে অবস্থা করছে সেটা চেক করার জন্য index মেথড ব্যবহার করেছি।

letters = ['p', 'q', 'r', 's', 'p', 'u']
print(letters.index('r'))
print(letters.index('p'))
print(letters.index('z'))

আউটপুট,

2
0
ValueError: 'z' is not in list

count লিস্টের মধ্যে কোন একটি এলিমেন্ট মোট কতবার আছে তার সংখ্যা জানতে নিচের মত করে count() মেথডের ব্যবহার করা যেতে পারে,

letters = ['p', 'q', 'r', 's', 'p', 'u']
letters.count('p')

আউটপুট,

2

এরকম সব গুলো মেথডের কাজ জেনে নিতে help(list.METHOD_NAME) এভাবে রান করে আউটপুট স্ক্রিন থেকে উক্ত মেথডের বিস্তারিত দেখে নিতে পারেন।

অবজেক্ট মেথড বাদেও লিস্ট এর জন্য কিছু উপকারী ফাংশন আছে। যেমন - max(), min(), len() ইত্যাদি. যেমন একটি লিস্টের মধ্যে থাকা এলিমেন্ট গুলোর মধ্যে থেকে বড়টি দেখে নিতে max() ফাংশনের ব্যবহার করা যেতে পারে। উদাহরণ,

nums = [1, 2, 4, 20, 50, 3, 4]
max(nums)

আউটপুট,

50
Previousলিস্ট অপারেশনNextরেঞ্জ

Last updated 4 years ago

সংকলন -

নুহিল মেহেদী