python oop

Python ডাটাটাইপ : লিস্ট

আজ এই আর্টিকেলে দেখব পাইথন লিস্ট। পাইথন লিস্ট হচ্ছে আমাদের বহুল ব্যাবহারিত একটি ডাটাটাইপ। লিস্টের ডাটাগুলো কে আমরা চাইলে আপডেট, ডিলিট করতে পারব।
পাইথনের এই লিস্ট কে অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজে অ্যারের সাথে তুলনা করা যেতে পারে।

# কীভাবে পাইথনে লিস্ট তৈরি করব ?
পাইথনে লিস্ট কে square bracket [ ] দ্বারা প্রকাশ করা হয়। এবং এই square bracket থাকা প্রতিটা এলিমেন্ট কে কমা দ্বারা আলাদা করে লেখা হয়।
আমাদের ইচ্ছা মত আমরা ইন্টিজার, স্ট্রিং, নেস্টেড লিস্ট, এবং মিক্স লিস্ট তৈরি করতে পারি।
নিচের কোডেগুলো তে এগুলো দেখানো হলঃ

my_list = []  # empty list.
my_int_list = [10, 20, 30, 40, 50]  # integer list
my_string_list = ['Milk', 'Suger', 'Tea']  # string list
my_mix_list = [100, 'Blue', 10.5]    # mix data list
my_nested_list = [ [10,20], ['Red', 'Blue'], [10.5,20.5]]  # nested data list

# কীভাবে পাইথনে লিস্ট ইলিমেন্ট অ্যাক্সেস করব ?
পাইথনে লিস্ট অ্যাক্সেস করার জন্য আমরা Indexing উপায় ব্যবহার করে থাকি।
যেমন মনে করি আমাদের তৈরি করা my_int_list ভ্যারিয়েবল থেকে প্রথম ইনডেক্সের ভ্যালুটা লাগবে তাহলে, এটা করার জণ্য নিচের কোডটি দেখা যেতে পারে।

print(my_int_list[0]) # output: 10
print(my_string_list[2]) # output: Tea

আমরা চাইলে নেস্টেড লিস্ট ডাটা কে অ্যাক্সেস করতে পারব।

print(my_nested_list[1][1]) # output: Blue

এখন যদি চাই আমাদের লিস্টের সর্বশেষ ইলিমেন্টটি অ্যাক্সেস করতে তাহলে আমাদের কে নেভেটিভ ইনডেক্সিং ব্যবহার করতে হবে।

print(my_int_list[-1]) # output: 50

# পাইথন লিস্ট sliceঃ
পাইথন লিস্ট কে slice করতে হলে আমরা সাধরনত : (colon) অপারেটর ব্যবহার করতে হয়।
তবে একটা কথা মনে রাখতে হবে, পাইথন লিস্টকে slice করলে আউটপুট হিসেবে আরেকটি লিস্ট পাওয়া যাবে।
মনে করি আমাদের লিস্ট থেকে একটি নির্দিষ্ট রেঞ্জ পর্যন্ত ডাটা গুলো লাগবে তাহলে নিচের কোডটি দেখা যেতে পারে।

print(my_int_list[0:2]) # output: [10, 20]

শূন্যতম ইনডেক্স থেকে পরবর্তি সকল ইলিমেন্ট গুলো অ্যাক্সেস করতে হলে [0:] অথবা [:] লিখলেই হবে।
সম্পূর্ণ কোডটি নিচে থেকে দেখা যেতে পারেঃ

print( my_int_list[0:]) # output: [10, 20, 30, 40, 50]
print(my_int_list[:]) # output: [10, 20, 30, 40, 50]

মনেকরি আমাদের এখন ২য় ইনডেক্স থেকে পরবর্তী সকল ইলিমেন্ট গুলো কে লাগবে, তখন আমাদের কে [2:] লিখলেই হবেঃ

print(my_int_list[2:]) # output: [30, 40, 50]

# কীভাবে লিস্টে নতুন আইটেম অ্যাড করব ??
কয়েকটি উপায়ে আমাদের লিস্টে মধ্যে নতুন আইটেম সংযুক্ত করতে পারি।
append() এই মেথডের মাধ্যমে আমাদের বর্তমান লিস্টের সাথে নতুন ডাটা অ্যাড করতে পারব।

my_int_list.append(100)  # output: [10, 20, 30, 40, 50, 100]

extend() এই মেথডের মাধ্যমে আমাদের বর্তমান লিস্টের সাথে নতুন আরেকটি লিস্ট অ্যাড করতে পারি।

my_int_list.extend([200,300]) # output: [10, 20, 30, 40, 50, 100, 200, 300]

অথবা ( + ) অপারেটর ব্যবহার করে এই একই কাজটি করতে পারি।

added_int_list = my_int_list + [400,500]
# output: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]

insert(index, data) মেথডটি ব্যবহার করা হয় কোন একটি নিদিষ্ট ইনডেক্সে ডাটা অ্যাড করার জন্য।

my_int_list.insert(0, 11)
# output: [11, 10, 20, 30, 40, 50, 100, 200, 300]

আমরা যদি চাই একটি লিস্টের নিদিষ্ট ইনডেক্স দিয়ে সিরিয়ালি নতুন আইটেম অ্যাড হবে, তাহলে তখন আমাদের কে লিখতে হবেঃ

my_int_list[3:2] = [66,77]
# output: [11, 10, 20, 66, 77, 30, 40, 50, 100, 200, 300]

# লিস্ট থেকে কীভাবে আইটেম রিমুভ করব ??
remove(item value) মেথড ব্যবহার করে সাধারনত একটি আইটেম কে লিস্ট থেকে ডেলিট করে দিতে পারি।

my_int_list.remove(77)
# output: [11, 10, 20, 66, 77, 30, 40, 50, 100, 200, 300]

লিস্ট ইনডেক্স ধরেও আমাদের লিস্ট থেকে আইটেম কে ডিলিট করতে পারি।

del my_int_list[0]
# output: [10, 20, 66, 30, 40, 50, 100, 200, 300]

এখন যদি লিস্ট থেকে মাল্টিপাল আইটেম কে ডিলিট করতে চাই তাহলে লিখতে হবেঃ

del my_int_list[2:6]
# output: [10, 20, 100, 200, 300]

উপরের কোডটি আমাদের লিস্টর ৩য় থেকে ৬ষ্ঠ ইনডেক্স পর্যন্ত আইটেম গুলো কে রিমুভ করে দিবে।
অথবা নিচের কোডটির মাধ্যমেও আমরা মাল্টিপাল আইটেম রিমুভ করতে পারি।

my_string_list[0:2] = [] # output: ['Tea']

সম্পূর্ণ লিস্টের আইটেম গুলোকে রেমুভ করতে হলে আমরা clear() এই মেথডটি ব্যবহার করতে পারিঃ

my_string_list.clear() # output: []

এই আর্টিকেলে ব্যবহারিত সকল কোডগুলো একত্রে পাওয়া যাবে এই লিঙ্কে

Leave a comment