কম্পিউটার টিউটোরিয়াল

পাইথনে লিস্ট (List) এবং টাপল (Tuple) এর পার্থক্য

এই পোস্টে পাইথনে লিস্ট এবং টাপলের পার্থক্য বোঝা যাবে।

লিস্ট এবং টাপল পাইথনে দুটি ভিন্ন ধরণের ডেটা স্ট্রাকচার। এগুলো ভিন্ন পরিস্থিতিতে ভিন্ন টাইপের ডেটা স্টোর করার জন্য ব্যবহৃত হয়।

লিস্ট (List)

এটিকে সিকোয়েন্স (sequence) বলা হয়। এটি সবচেয়ে বেশি ব্যবহৃত ডেটা টাইপ মনে হয় এবং এর ভার্সটাইলিটি (versatility)র জন্য প্রশংসিত। একটি লিস্ট তৈরি করতে হলে সব এলিমেন্ট স্কোয়ার ব্রাকেট [ ] এর ভেতরে রাখে কমা দিয়ে আলাদা করতে হয়। লিস্টে যেকোনো সংখ্যক এলিমেন্ট থাকতে পারে এবং সেগুলো ভিন্ন টাইপেরও হতে পারে (ইন্টিজার, ফ্লোট, স্ট্রিং ইত্যাদি)। লিস্টের সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এটি মিউটেবল (mutable) স্ট্রাকচার, অর্থাৎ রেফারেন্স দিয়ে লিস্টে পরিবর্তন করা যায়।

হেটেরোজেনাস ডেটা টাইপসহ লিস্ট কীভাবে তৈরি করা যায় তা দেখি:

উদাহরণ

my_list = [1.8, 'string', 34, 'a']
print(my_list)

আউটপুট

[1.8, 'string', 34, 'a']

লিস্টের ডেটা এক্সেস করার অনেক পদ্ধতি রয়েছে।

ইন্ডেক্সিং ব্যবহার করে এলিমেন্ট এক্সেস করা:

উদাহরণ

my_list = [1.8, 'string', 34, 'a']
print("The second element is")
print(my_list[1])

আউটপুট

The second element is string

এক নির্দিষ্ট রেঞ্জের এলিমেন্ট এক্সেস করাও যায়। এটাকে লিস্ট স্লাইসিং (list slicing) বলা হয়:

উদাহরণ

my_list = [1.8, 'string', 34, 'a']
print("The elements within a certain range are")
print(my_list[1:4])

আউটপুট

The elements within a certain range are ['string', 34, 'a']

ইন্ডেক্সিং এবং নতুন ভ্যালু অ্যাসাইন করে লিস্টের মান পরিবর্তন করা যায়:

উদাহরণ

my_list = [1.8, 'string', 34, 'a']
print("List before changes")
print(my_list)
my_list[1] = 'my_string'
print("List after changes")
print(my_list)

আউটপুট

List before changes [1.8, 'string', 34, 'a']
List after changes [1.8, 'my_string', 34, 'a']

টাপল (Tuple)

এখন টাপল স্ট্রাকচারের ওয়ার্কিং বুঝি। এটি প্যারেনথেসিস () ব্যবহার করে তৈরি হয়। টাপলের গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এটি ইমিউটেবল (immutable), অর্থাৎ একবার টাপলে এলিমেন্ট অ্যাসাইন হলে সেটাকে টাপল অ্যাক্সেস করে পরিবর্তন করা যায় না। টাপলেও যেকোনো সংখ্যক এলিমেন্ট থাকতে পারে এবং সেগুলো ভিন্ন টাইপেরও হতে পারে।

নোট: টাপল প্যারেনথেসিস ছাড়াও তৈরি করা যায়, তবে প্যারেনথেসিস ব্যবহার করা ভালো প্র্যাকটিস।

একটি এলিমেন্টসহ টাপল কীভাবে তৈরি করা যায়:

উদাহরণ

my_tuple = ("hey",)
print("Creating a tuple with one element")
print(my_tuple)

আউটপুট

("hello")

নোট: টাপলের এলিমেন্ট এক্সেস, 네가েটিভ ইন্ডেক্সিং, এবং লিস্ট স্লাইসিং লিস্টের মতোই।

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

  1. পাইথন টাপল এবং ডিকশনারির পার্থক্য কী?

  2. পাইথন লিস্ট এবং অ্যারে (array) এর পার্থক্য কী?

  3. পাইথন লিস্ট এবং টাপলের পার্থক্য কী?

  4. পাইথন লিস্টে append এবং + অপারেটরের কাজের পার্থক্য কী?