এই আর্টিকেলে আমরা পাইথনের ৪টি ইনবিল্ট ডেটা স্ট্রাকচার: লিস্ট (List), ডিকশনারি (Dictionary), টাপল (Tuple), সেট (Set) সম্পর্কে জানব।
লিস্ট (List)
লিস্ট হলো এলিমেন্টের একটি অর্ডার্ড সিকোয়েন্স। এটি একটি নন-স্কেলার ডেটা স্ট্রাকচার এবং মিউটেবল (পরিবর্তনশীল) প্রকৃতির। লিস্টে বিভিন্ন ডেটা টাইপের এলিমেন্ট থাকতে পারে, অ্যারেয়ের মতো একই টাইপের এলিমেন্ট বাধ্যতামূলক নয়।
লিস্ট ইনডেক্স দিয়ে (স্কয়ার ব্র্যাকেটে ইনডেক্স এনক্লোজ করে) অ্যাক্সেস করা যায়।
উদাহরণ
lis = ['tutorialspoint', 786, 34.56, 2+3j]
# লিস্টের এলিমেন্ট ডিসপ্লে
for i in lis:
print(i)
# লিস্টের শেষে এলিমেন্ট যোগ
lis.append('python')
# লিস্টের দৈর্ঘ্য ডিসপ্লে
print("length of list is:", len(lis))
# লিস্ট থেকে এলিমেন্ট রিমুভ
lis.pop()
print(lis)আউটপুট
tutorialspoint 786 34.56 (2+3j) length of list is: 5 ['tutorialspoint', 786, 34.56, (2+3j)]
টাপল (Tuple)
এটিও পাইথনে ডিফাইনড একটি নন-স্কেলার টাইপ। লিস্টের মতো এটি একটি অর্ডার্ড সিকোয়েন্স কিন্তু টাপল ইমিউটেবল (অপরিবর্তনশীল) প্রকৃতির। অর্থাৎ এই ডেটা স্ট্রাকচারের সাথে কোনো মডিফিকেশন করা যায় না।
এলিমেন্টগুলো হেটেরোজিনাস বা হোমোজিনাস প্রকৃতির হতে পারে, কমা দিয়ে সেপারেট করে প্যারেনথেসিসের মধ্যে।
উদাহরণ
tup = ('tutorialspoint', 786, 34.56, 2+3j)
# টাপলের এলিমেন্ট ডিসপ্লে
for i in tup:
print(i)
# টাপলে এলিমেন্ট যোগ করলে এরর হবে
# tup.append('python')
# টাপলের দৈর্ঘ্য ডিসপ্লে
print("length of tuple is:", len(tup))
# টাপল থেকে এলিমেন্ট রিমুভ করলে এরর হবে
# tup.pop()আউটপুট
tutorialspoint 786 34.56 (2+3j) length of tuple is: 4
সেট (Set)
এটি ডুপ্লিকেট ছাড়া অবজেক্টের একটি আনঅর্ডার্ড কালেকশন। কার্লি ব্রেসে সব এলিমেন্ট এনক্লোজ করে বা set কিওয়ার্ড দিয়ে টাইপ কাস্টিং করে সেট তৈরি করা যায়।
সেটের এলিমেন্টগুলো অবশ্যই ইমিউটেবল ডেটা টাইপের হতে হবে। সেট ইনডেক্সিং, স্লাইসিং, কনক্যাটেনেশন ও রেপ্লিকেশন সাপোর্ট করে না। ইন্ডেক্স ব্যবহার করে ইটারেট করা যায়।
উদাহরণ
set_ = {'tutorial', 'point', 'python'}
for i in set_:
print(i, end=" ")
# ম্যাক্সিমাম ও মিনিমাম প্রিন্ট
print(max(set_))
print(min(set_))
# সেটের দৈর্ঘ্য প্রিন্ট
print(len(set_))আউটপুট
tutorial point python tutorial point 3
ডিকশনারি (Dictionary)
ডিকশনারি হলো কি-ভ্যালু পেয়ারের একটি আনঅর্ডার্ড সিকোয়েন্স। ইনডেক্স যেকোনো ইমিউটেবল টাইপ হতে পারে এবং এদেরকে কি (key) বলা হয়। এটিও কার্লি ব্রেসের মধ্যে নির্দিষ্ট করা হয়।
ইউনিক কি দিয়ে ভ্যালু অ্যাক্সেস করা যায়।
উদাহরণ
# নতুন ডিকশনারি তৈরি d = dict() # কি-ভ্যালু পেয়ার যোগ d['tutorial'] = 786 d['point'] = 56 # মিন ও ম্যাক্স প্রিন্ট print(min(d), max(d)) # শুধু কিজ প্রিন্ট print(d.keys()) # শুধু ভ্যালুগুলো প্রিন্ট print(d.values())
আউটপুট
point tutorial dict_keys(['tutorial', 'point']) dict_values([786, 56])
উপসংহার
এই আর্টিকেলে আমরা পাইথন ল্যাঙ্গুয়েজের ইনবিল্ট ডেটা স্ট্রাকচারগুলো এবং তাদের বাস্তবায়ন সম্পর্কে শিখেছি।