What is Tuple in Python in Easy Bengali 2024

আজকে আমরা পাইথনের একটি অত্যন্ত গুরুত্বপূর্ণ ডেটা – স্ট্রাকচার, টাপেল (Tuple in Python) নিয়ে আলোচনা করব। এই পোস্টে আমরা জানব টাপেল কি এবং পাইথনে এটি কে কিভাবে ব্যবহার করব?

টাপেল হল লিস্ট এর মতই আর একটা গুরুত্বপূর্ণ পাইথনের টেটাস স্ট্রাকচার। তবে লিস্টের সাথে টাপেল কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে , সেটি হল টাপেল ইমিউটেবল টাইপের অর্থাৎ ভ্যালু আমরা পরিবর্তন করতে পারি না। যেমন লিস্ট তৈরি হয় [ ] এই ব্রাকেটের সাহায্যে ঠিক তেমনি টাপেল আমরা ( ) ব্রাকেটের সাহায্য তৈরি করতে পারি। যেমন –

mytuple = ("tech" ,"education", "tips and tricks")
Python

Also Read :- What is Coding & Programming in Easy Bengali? প্রোগ্রামিং এবং কোডিং কি? 2023

Creating Empty Tuple using braces

পাইথনে আমরা ( ) এভাবে ফাঁকা একটি টাপেল ইনিসিয়ালাইজ করতে পারি। যেমন –

mytuple =( )
print(type(mytuple))
Python
<class 'tuple'>

Creating Empty Tuple using tuple constructor

পাইথনে আমরা টাপেল constructor এর সাহায্যে tuple( ) এভাবে ফাঁকা একটি টাপেল ইনিসিয়ালাইজ করতে পারি। যেমন –

mytuple =tuple ( )
print(type(mytuple))
Python
<class 'tuple'>

Creating Tuple in Python

পাইথনে আমরা ( ) ব্রাকেটের মধ্যে কিছু ভ্যালু রেখে অথবা কমা চিহ্ন (,) ব্যবহার করে ভ্যালু গুলোকে আলাদা করেও টাপেল করতে পারি। যেমন –

mytuple = ( 1,2,3)
print(type(mytuple))
Python
<class 'tuple'>

পাইথনে আমরা টাপেল মধ্যে অনেক টাইপের ডেটা রাখতে পারি। যেমন –
স্ট্রিং (string) , বুলিয়ান ( boolean ), int , লিস্ট (list) ,টাপল (tuple) ,ডিকশনারি (dictionary),সেট (set) ইত্যাদি।যেমন –

mytuple=('techinbengali.com',2024,True,2.136,[1,2,3],
                                          {
                                              "website":"techinbengali.com",
                                              "category":"python"
                                          }
)
print(mytuple)
print(type(mytuple))
Python

Output

('techinbengali.com', 2024, True, 2.136, [1, 2, 3], {'website': 'techinbengali.com', 'category': 'python'})

<class 'tuple'>

Also Read :- Python কি এবং কেন শিখব? What is Python in Easy Bengali? 2023

আমরা আগেই আলোচনা করেছি যেমন লিস্টের ভ্যালু দেখার জন্য আমরা ইনডেক্স নাম্বার ব্যবহার করেছি ঠিক তেমন ভাবে আমরা টাপেলর ভ্যালু দেখার জন্য আমরা ইনডেক্স নাম্বার ব্যবহার করবো।
নিচের দেখানো পদ্ধতিতে আমরা একটি টাপেলর ইনডেক্স নাম্বার ব্যবহার করে ভ্যালু দেখতে পারি।

Example

mytuple=('techinbengali.com',2024,True,2.136,[1,2,3])
print(mytuple[0])
print(mytuple[4])
Python

Output

techinbengali.com
[1, 2, 3]
tuple-format-in-python-in-easy-bengali-techinbengali.com Tuple in Python
Tuple in Python

Also Read :- Learn Python Free for Beginners in Bengali 2023

আমরা আগেই আলোচনা করেছি যে টাপেল একটি ইমিউটেবল অবজেক্ট সেই কারণে আমরা টাপেলে ভ্যালু insert করতে পারবো না লিস্টের মতো।
যদি আমরা লিস্টের মতোন অ্যাপেন্ড মেথড ব্যবহার করে ভ্যালু insert করতে যাই তাহলে আমরা error পাবো।
নিচের example টি লক্ষ্য করুন।

Example

mytuple=('techinbengali.com',2024,True,2.136,[1,2,3])
mytuple.append("python")
Python

Output

Also Read :- Function in Python | Easy Bengali 2024

আমরা আগেই আলোচনা করেছি যে টাপেল একটি ইমিউটেবল অবজেক্ট সেই কারণে আমরা টাপেলে ভ্যালু পরিবর্তন (update ) করতে পারবো না লিস্টের মতো।
যদি আমরা লিস্টের মতোন ইনডেক্স নাম্বার ব্যবহার করে ভ্যালু আপডেট করতে যাই তাহলে আমরা error পাবো।
তবে আমরা দুই বা ততোধিক টাপেলকে একসাথে যুক্ত করে একটি টাপেলে পরিবর্তন করতে পারি।

Example – 1

mytuple=('techinbengali.com',2024,True,2.136,[1,2,3])
mytuple[1]=2023
Python

Output – 1

Example – 2

mytuple1=('techinbengali.com',2024)
mytuple2=(True,2.136,[1,2,3])
new_tuple=mytuple1+mytuple2
print(new_tuple)
print(type(new_tuple))
Python

Output – 2

('techinbengali.com', 2024, True, 2.136, [1, 2, 3])
<class 'tuple'>

Also Read :- File Handling in Python | Easy Bengali 2023

আবারো যেহেতু টাপেল একটি ইমিউটেবল অবজেক্ট সেই কারণে আমরা টাপেলের ভ্যালু ডিলিট(delete ) করতে পারবো না লিস্টের মতো।
যদি আমরা লিস্টের মতোন del কী-ওয়ার্ড ব্যবহার করে ভ্যালু ডিলিট করতে যাই তাহলে আমরা error পাবো।

Example

mytuple=('techinbengali.com',2024)
del mytuple[0]
Python

Output

Also Read :- What is Module in Python | Learn in Easy Bengali 2024

len ( )

একটি টাপলের length বা দৈর্ঘ্য রিটার্ন করে।

Example

mytuple=(1,2,8,9,0,20,5)
print(len(mytuple))
Python

Output

7

concatination

দুই বা ততোধিক টাপলকে কে join করতে ব্যবহৃত হয়।

Example

mytuple=(1,2,8,9,0,20,5)
mytuple2=(10,2,0,30)
print(mytuple+mytuple2)
Python

Output

(1, 2, 8, 9, 0, 20, 5, 10, 2, 0, 30)

repetition

টাপলের মধ্যে এলিমেন্ট (element) রিপিট করাতে ব্যবহৃত হয়।

Example

mytuple=(1,2,8)
print(mytuple*3)
Python

Output

(1, 2, 8, 1, 2, 8, 1, 2, 8)

Membership ( in )

এটি দিয়ে আমরা দেখতে পারি একটি ভ্যালু(element ) টাপলের এর মধ্যে আছে কি না ? যদি থাকে True রিটার্ন করবে যদি না থাকে False রিটার্ন করবে।

Example

mytuple=(1,2,3)
print(3 in mytuple)
print(4 in mytuple)
Python

Output

True
False

Membership ( not in )

এটি দিয়ে আমরা দেখতে পারি একটি ভ্যালু(element ) টাপলের এর মধ্যে আছে কি না ? যদিও এটির ব্যবহার in এর ঠিক উল্টো (opposite)। যদি না থাকে True রিটার্ন করবে যদি থাকে False রিটার্ন করবে।

Example

mytuple=(1,2,3)
print(3 not in mytuple)
print(4 not in mytuple)
Python

Output

False
True

max ( )

একটি টাপলের মধ্যে থেকে বড়ো (maximum) ভ্যালুটি রিটার্ন করবে।

Example

mytuple=(1,2,3,221,500,100,201,630)
print(max(mytuple))
Python

Output

630

min ( )

একটি টাপলের মধ্যে থেকে ছোট (minimum) ভ্যালুটি রিটার্ন করবে।

Example

mytuple=(1,2,3,221,500,100,201,630)
print(min(mytuple))
Python

Output

1

sum ( )

একটি টাপলের মধ্যে সকল সংখ্যার যোগফল রিটার্ন করবে।

Example

mytuple=(1,2,3,5,7,8)
print(sum(mytuple))
Python

Output

26

tuple ( )

Example

এটির মাধ্যমে আমরা যে কোন sequence কে ( টাপল (tuple) , ডিকশনারি (dictionary) , সেট (set) , স্ট্রিং (string) ) কে টাপলে পরিবর্তন করতে পারবো।

mytuple='techinbengali.com'
print(tuple(mytuple))
Python

Output

('t', 'e', 'c', 'h', 'i', 'n', 'b', 'e', 'n', 'g', 'a', 'l', 'i', '.', 'c', 'o', 'm')
tuple-operations-in-python-in-easy-bengali-techinbengali.com

Also Read :- What is List in Python | Learn in Easy Bengali 2024

টাপলে মাত্র দুটি built-in মেথড রয়েছে।

  1. Count ( )
  2. index ( )

Count ()

count() মেথডের প্যারামিটারে আমরা একটি এলিমেন্ট পাস করবো । এবং , মেথডটি আমাদের রিটার্ন করবে যে , আমাদের পাঠানো এলিমেন্ট টা টাপলের মধ্যে কতবার রয়েছে।
index () মেথডটি একটিই প্যারামিটার নেয়।
element – যেই এলিমেন্ট কে আমরা count করব।

Example

mytuple=(1,2,3,0,4,1,1,0,1,2,1,0)
print(mytuple.count(1))
Python

Output

5

Index ()

Index () মেথডটি , আমাদের পাঠানো এলিমেন্ট টা টাপলের মধ্যে প্রথম কোন ইনডেক্স এ রয়েছে সেই index পজিশন রিটার্ন করবে।
index () মেথডটি তিনটি প্যারামিটার নেয়। যদিও তার মধ্যে দুটি অপশনাল প্যারামিটার।
element – যেই এলিমেন্ট কে আমরা সার্চ করব।
start ( optional ) – এটি হলো স্টার্টিং ইনডেক্স , যেখান থেকে আমরা সার্চ করা শুরু করব।
end ( optional ) – এটি হলো শেষ ইনডেক্স , যেখানে আমরা সার্চ করা শেষ করব।

Example

mytuple=(1,2,3,0,4,1,1,0,1,2,1,0)
print(mytuple.index(0))
Python

Output

3
tuple-methods-in-python-in-easy-bengali-techinbengali.com

প্রোগ্রামিং ল্যাঙ্গুয়েজে টাপেল হল একটি ইমিউটেবল ডেটা স্ট্রাকচার । অর্থাৎ একবার টাপেল তৈরি করার পরে আমরা সেই টাপেলের কোন এলিমেন্টকে add , update বা delete করতে পারি না। এই ইমিউটেবল নেচার ই নিশ্চিত করে যে একটি টাপেল পুরো প্রোগ্রামে জুড়ে একদম constant থাকে। বেশিরভাগ ক্ষেত্রে টাপেল আমরা ডেটা স্টোর করার জন্য ব্যবহৃত করি যেমন – ডেটাবেসে রেকর্ড স্টোর করতে।

Tuple Packing

এটি হলো এমন একটি টেকনিক , যেটির সাহায্যে আমরা দুই বা ততোধিক ভ্যালুকে একটা সিঙ্গেল ভেরিয়েবলে স্টোর করতে পারি।

Example

category="tech"
year=2024
student_name='subho'
mytuple=student_name,year,category
print(mytuple)
print(type(mytuple))
Python

Output

('subho', 2024, 'tech')
<class 'tuple'>

Tuple Unpacking

Tuple Unpacking র মাধ্যমে আমরা একটি টাপেলের মধ্যে থাকা প্রত্যেকটি ভ্যালুকে আলাদা আলাদা নতুন ভেরিয়েবলে স্টোর করতে পারি ।

Example

mytuple=('techinbengali.com',2024,'python')
website_name,year,category=mytuple
print(website_name)
print(year)
print(category)
Python

Output

techinbengali.com
2024
python

Also Read :- Basic List Operations and List methods in Easy Bengali 2024

zip () হলো পাইথনের বিল্টইন function যেটা দুই বা ততোধিক sequence কে নেয় এবং তাদেরকে একসাথে করে একটি টাপেলের লিস্ট তৈরী করে ।

Example

list1=[1,2,3]
tuple1=('a','b','c')
print(list(zip(tuple1,list1)))
Python

Output

[('a', 1), ('b', 2), ('c', 3)]

আমরা tuple ( ) মেথডটি ব্যাবহার করে লিস্টকে টাপেলে পরিবর্তন করতে পারি ।

Example

mylist=['techinbengali.com',2024,True,'python']
mytuple=tuple(mylist)
print(mytuple)
print(type(mytuple))
Python

Output

('techinbengali.com', 2024, True, 'python')
<class 'tuple'>

আমরা list( ) মেথডটি ব্যাবহার করে টাপেলকে লিস্টে পরিবর্তন করতে পারি ।

Example

mytuple=('techinbengali.com',2024,True,'python')
mylist=list(mytuple)
print(mylist)
print(type(mylist))
Python

Output

['techinbengali.com', 2024, True, 'python']
<class 'list'>
  • Geographical Coordinates
  • Store Records in Database
  • Financial Data
  • Machine Learning

Memory Efficiency

যেহেতু টাপেল একটি সিঙ্গেল মেমোরি ব্লকে স্টোর হয়, তাই নতুন কোনো অবজেক্টের জন্যে অতিরিক্ত কোনও জায়গার প্রয়োজন হয় না।অন্যদিকে, লিস্ট দুটি মেমোরি ব্লক allocate করে।
প্রথম ব্লকটি সেই লিস্টটি এবং তার এলিমেন্ট সম্পর্কে ফিক্স সাইজ তথ্য ধরে রাখে ।
এবং দ্বিতীয় ব্লকটি variable-sized এবং যার মধ্যে লিস্টের ডেটা গুলো স্টোর থাকে।
সেই কারণে আমরা বলতেই পারি tuples are more memory efficient.

Example

import sys
mytuple=('tech','education','quiz')
mylist=['tech','education','quiz']
print(f"tuple takes : {sys.getsizeof(mytuple)} bytes")
print(f"list takes : {sys.getsizeof(mylist)} bytes")
Python

Output

tuple takes : 64 bytes
list takes : 88 bytes

Faster Iteration

আমরা এখন দেখবো লিস্ট আর টাপেল এর মধ্যে কার execution সবথেকে বেশি।

Example

import sys, platform # import system and platform module
import time         # import time module

list=list(range(10000000))    
tuple=tuple(range(10000000))  

#----------------- time taken by tuple
start_for_tuple = time.time_ns()
for i in range(len(tuple)):
    a = tuple[i]
end_for_tuple = time.time_ns()
print("Total time for Tuple: ", (end_for_tuple - start_for_tuple)*(1e-9))

#----------------- time taken by list
start_for_list  = time.time_ns()
for i in range(len(list)):
    a = list[i]
end_for_list = time.time_ns()
print("Total time for LIST: ", (end_for_list - start_for_list)*(1e-9))
Python

Output

Total time for Tuple:  0.6849216180000001
Total time for LIST:  0.804385878

উপরের এক্সাম্পল , থেকে বুঝতে পারছি যে টাপেল তার সমস্ত এলিমেন্ট কে ঘুরে আসতে ০.০৬৮ সেকেন্ড সময় লেগেছে , যদিও লিস্টের একই সমস্ত এলিমেন্ট কে ঘুরে আসতে ০.০৮ সেকেন্ড সময় লেগেছে । সুতরাং আমরা বলতেই পারি যে টাপেলের execution লিস্টের থেকে বেশি।

Also Read :- What are Data Structures in Python in Easy Bengali 2024

এই পোস্টটি পড়ে আপনাদের মূলবান মতামত জানাতে আমাদের কমেন্ট করুন। আপনাদের কোনো প্রশ্ন থাকলে নির্দ্ধিধায় জিজ্ঞেসা করুন। আমরা চেষ্টা করবো যতো দ্রুত সম্ভব উত্তর দেবার।
ধন্যবাদ!!

Leave a Comment