লিস্ট কম্প্রিহেনশন

ডেটা স্ট্রাকচার - পাইথন প্রোগ্রামিং (Python Programming) - Computer Programming

413

লিস্ট কম্প্রিহেনশন (List Comprehension) পাইথনের একটি সংক্ষিপ্ত এবং কার্যকর উপায়, যা একটি নতুন লিস্ট তৈরি করার জন্য ব্যবহৃত হয়। এটি লুপ এবং কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে এক বা একাধিক লিস্ট থেকে নতুন লিস্ট তৈরি করতে পারে। লিস্ট কম্প্রিহেনশন কোডকে আরও সংক্ষিপ্ত ও সহজ করে তোলে।


লিস্ট কম্প্রিহেনশনের সাধারণ সিনট্যাক্স:

new_list = [expression for item in iterable if condition]
  • expression: প্রতিটি আইটেমে প্রয়োগ করা হয় এবং এটি নতুন লিস্টে যোগ করা হয়।
  • item: লুপের প্রতিটি আইটেমের জন্য একটি ভেরিয়েবল।
  • iterable: যেকোনো ইটারেবল অবজেক্ট যেমন লিস্ট, রেঞ্জ ইত্যাদি।
  • condition: ঐচ্ছিক (optional) শর্ত, যা শুধুমাত্র শর্ত পূরণকারী আইটেমগুলোকে নতুন লিস্টে যোগ করে।

উদাহরণ ১: সাধারণ লিস্ট কম্প্রিহেনশন

ধরা যাক, আমাদের ১ থেকে ১০ পর্যন্ত সংখ্যাগুলোর একটি লিস্ট তৈরি করতে হবে।

numbers = [x for x in range(1, 11)]
print(numbers)

আউটপুট:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

উদাহরণ ২: একটি শর্ত সহ লিস্ট কম্প্রিহেনশন

১ থেকে ১০ পর্যন্ত সংখ্যাগুলোর মধ্যে শুধুমাত্র জোড় সংখ্যাগুলোকে নতুন লিস্টে যোগ করতে চাই।

even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)

আউটপুট:

[2, 4, 6, 8, 10]

উদাহরণ ৩: প্রতিটি আইটেমের উপর অপারেশন প্রয়োগ করা

ধরা যাক, আমাদের ১ থেকে ৫ পর্যন্ত সংখ্যাগুলোর বর্গ (square) বের করে একটি নতুন লিস্ট তৈরি করতে হবে।

squares = [x**2 for x in range(1, 6)]
print(squares)

আউটপুট:

[1, 4, 9, 16, 25]

উদাহরণ ৪: স্ট্রিং লিস্ট থেকে ফিল্টার করা

ধরা যাক, আমাদের একটি লিস্টে কিছু নাম রয়েছে, এবং আমরা শুধুমাত্র "A" দিয়ে শুরু হওয়া নামগুলো সংগ্রহ করতে চাই।

names = ["Alice", "Bob", "Anna", "Charlie"]
a_names = [name for name in names if name.startswith("A")]
print(a_names)

আউটপুট:

['Alice', 'Anna']

উদাহরণ ৫: নেস্টেড লিস্ট কম্প্রিহেনশন

নেস্টেড লুপ ব্যবহার করে টেবিল তৈরি করা যাক। উদাহরণস্বরূপ, ১ থেকে ৩ পর্যন্ত প্রতিটি সংখ্যার জন্য ১ থেকে ৩ পর্যন্ত সংখ্যাগুলোর গুণফল বের করা।

table = [[x * y for y in range(1, 4)] for x in range(1, 4)]
print(table)

আউটপুট:

[[1, 2, 3], [2, 4, 6], [3, 6, 9]]

লিস্ট কম্প্রিহেনশনের সুবিধা:

  • সংক্ষিপ্ত এবং সহজ: এটি সাধারণ লুপের চেয়ে কম কোডে একই কাজ করতে পারে।
  • পঠনযোগ্যতা: কিছু ক্ষেত্রে এটি কোডকে আরও পড়ার যোগ্য করে তোলে।
  • পারফরম্যান্স: লিস্ট কম্প্রিহেনশন সাধারণত নিয়মিত লুপের চেয়ে দ্রুত কাজ করে।

সংক্ষেপে:

লিস্ট কম্প্রিহেনশন পাইথনে একটি সহজ, কার্যকর এবং দ্রুত উপায় লিস্ট তৈরি করার জন্য, যা একটি লুপ এবং ঐচ্ছিক কন্ডিশনের মাধ্যমে ইটারেবল অবজেক্ট থেকে লিস্ট তৈরি করে। এটি কোডকে সংক্ষিপ্ত ও কার্যকর করে তুলতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...