পাইথনে লিস্ট কমপ্রিহেনশন কিভাবে ব্যবহার করবেন

পাইথনে লিস্ট কমপ্রিহেনশন কিভাবে ব্যবহার করবেন

পাইথনে তালিকা বোঝার সময়মত ব্যবহার আপনার জন্য পুনরাবৃত্তিমূলক তালিকা অপারেশন সহজ করতে পারে। একটি একক লাইন হওয়া ছাড়াও, এটি আরও পঠনযোগ্য এবং আরও দক্ষতার সাথে চালানো হয়।





যাইহোক, আপনি যদি এটি ব্যবহার করতে না জানেন তবে আপনি কাজ করতে পারেন। এটি আরও হতাশাজনক হতে পারে যদি আপনি জানেন না যে এটি আপনার কোডে কোথায় প্রয়োগ করতে হবে। এখানে, আমরা আপনাকে দেখাব কিভাবে পাইথনে তালিকা বোঝার ব্যবহার করা যায় কিছু বাস্তব জীবনের উদাহরণ সহ।





পাইথনে লিস্ট কম্প্রিহেনশন কী এবং এটি কীভাবে কাজ করে?

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





তালিকা বোঝার একটি সুবিধা হল যে আপনি একটি তালিকাতে বেশ কয়েকটি অপারেশন করতে পারেন।

ফায়ারফক্স কেন এত ধীর গতিতে চলছে?

বিপরীতে, এটি নতুন আইটেম তৈরি করে এবং সেগুলি একটি খালি তালিকায় যুক্ত করে যা এটি স্বয়ংক্রিয়ভাবে ঘোষণা করে। সুতরাং ম্যানুয়ালি একটি খালি তালিকা তৈরি করার পরিবর্তে এবং এটির সাথে যুক্ত করুন a জন্য লুপ, পাইথনের তালিকা অনুধাবন আপনাকে নতুন তালিকাটি কীভাবে আসে সে সম্পর্কে বিরক্ত না করে এটি স্বয়ংক্রিয়ভাবে করতে দেয়।



'তালিকা বোঝার' শব্দটি এই সত্য থেকে এসেছে যে সমস্ত ক্রিয়াকলাপ একটি পাইথন তালিকায় রয়েছে যা একটি নামযুক্ত ভেরিয়েবলের জন্য নির্ধারিত। যেমনটি আমরা আগেই বলেছি, এটি আপনাকে কোডের একক লাইনে নির্দিষ্ট অপারেশন করতে দেয়। এটি তখন একটি নতুন তালিকায় আউটপুট যুক্ত করে।

শেষ পর্যন্ত, আপনি অন্যান্য উদ্দেশ্যে একটি তালিকা বোঝার আউটপুট ব্যবহার করতে পারেন। কারণ এটি পৃথক ভেরিয়েবলে এক্সপ্রেশন স্ট্যাক করে। তাই আপনি পরে তাদের উল্লেখ করতে পারেন।





উদাহরণস্বরূপ, আপনি হতে পারেন BeautifulSoup দিয়ে একটি ওয়েবসাইট স্ক্র্যাপ করা । ধরুন আপনি ওয়েবসাইট থেকে সমস্ত আইটেমের নাম এবং তাদের মূল্য পেতে চান।

তারপরে আপনি স্ক্র্যাপ করা ডেটা CSV বা এক্সেল ফাইলে রাখার সিদ্ধান্ত নেন। আদর্শ চর্চা হল সমস্ত আইটেমের নাম এবং তাদের দাম কেড়ে নেওয়া এবং উভয়কে আলাদা কলামে রাখা। যাইহোক, একটি তালিকা বোঝার ব্যবহার, সেই ক্ষেত্রে, নিশ্চিত করে যে আপনার কাছে ডেডিকেটেড ভেরিয়েবলগুলিতে স্ক্র্যাপ করা ডেটা রয়েছে। আপনি পরে এই ধরনের ভেরিয়েবলগুলিকে পাইথন ডেটাফ্রেমে রূপান্তর করতে পারেন।





নীচের উদাহরণটি দেখুন:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

একবার আপনি লুপেড ভেরিয়েবলগুলি পেয়ে গেলে, আপনি সেগুলিকে পাইথনের পান্ডা ব্যবহার করে ডেটাফ্রেমে পৃথক কলামে রাখতে পারেন।

কিভাবে পাইথনে একটি লিস্ট কম্প্রিহেনশন তৈরি এবং ব্যবহার করবেন

দ্য জন্য একটি তালিকা বোঝার মধ্যে লুপ একটি অপরিহার্য পুনরাবৃত্ত। সাধারণত, পাইথনে একটি তালিকা বোঝার এই বিন্যাসটি গ্রহণ করে:

ComprehensionVariable = [expression for items in list]

মুদ্রণ বোঝার পরিবর্তনশীল একটি তালিকা হিসাবে উপরের কোডের ফলাফল আউটপুট।

যাইহোক, একটি খোলা সঙ্গে একটি তালিকা বোঝার বিভ্রান্ত না সতর্ক থাকুন জন্য লুপ.

উদাহরণস্বরূপ, আসুন লুপের জন্য একটি খোলা ব্যবহার করুন 1 থেকে 30 এর মধ্যে তিনটি গুণের একটি তালিকা পেতে:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

দুটি তুলনা করার জন্য, আসুন একটি তালিকা বোঝার মাধ্যমে একই কাজ করি:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

আপনি শর্তাধীন বিবৃতি সহ একটি তালিকা বোঝার ব্যবহার করতে পারেন। নীচের উদাহরণ কোডটি 1 এবং 10 এর মধ্যে সমস্ত বিজোড় সংখ্যা মুদ্রণ করে:

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

এখন, একটি ওপেন ব্যবহার করে উপরের কোডটি আবার লিখুন জন্য লুপ:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

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

একটি তালিকা বোঝার নেস্টেড গ্রহণ করে যদি বিবৃতি:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

এটি একটি নেস্টেডও লাগে জন্য লুপ:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

আপনি একটি প্লেইন নেস্টেডও থাকতে পারেন জন্য একটি তালিকা বোঝার মধ্যে লুপ:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

আপনি পাইথন তালিকা বোঝার সাথে স্ট্রিংগুলিকেও ম্যানিপুলেট করতে পারেন। আসুন নীচে একটি শব্দ পাল্টা বোঝার দিকে নজর দেওয়া যাক:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

একটি তালিকা বোঝা একটি ফাংশন গ্রহণ করতে পারে যা একটি নির্দিষ্ট অপারেশন করে। আসুন একটি গুণক ফাংশন সন্নিবেশ করি যা একটি তালিকা বোঝার মধ্যে এমনকি সংখ্যাগুলি পায় কিভাবে এটি কাজ করে তা দেখতে:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

আপনি বোধগম্যতা ব্যবহার না করেও উপরের কোডটি একটি ফাংশনে লিখতে পারেন। কিন্তু একটি তালিকা বোঝার দরকারী যখন আপনি বিভিন্ন পুনরাবৃত্তি সঞ্চালন এবং তাদের প্রতিটি পৃথক ভেরিয়েবল স্থাপন প্রয়োজন।

উদাহরণস্বরূপ, আপনি অন্য অপারেশন করতে পারেন n এবং এর জন্য একটি ডেডিকেটেড ভেরিয়েবল আছে। আসুন বিজোড় সংখ্যা থেকে জোড় সংখ্যা তৈরি করতে উপরের বোঝার পরিবর্তন করি:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

অভিধান এবং সেট বোঝার

একটি তালিকা বোঝার পাশাপাশি, পাইথন একটি অভিধান এবং একটি সেট বোঝার কার্যকারিতাও সরবরাহ করে।

এটি কীভাবে কাজ করে তা দেখতে নীচের অভিধান বোঝার উদাহরণটি দেখুন:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

উপরের কোডটি 1 থেকে 9 এর মধ্যে সংখ্যার তালিকার মাধ্যমে পুনরাবৃত্তি করে এবং সেগুলি কী করে। এটি তখন পাইথনকে প্রতিটি কী দুই দিয়ে গুণ করতে বলে। পরিশেষে, এটি সেই ক্রিয়াকলাপের ফলাফলগুলি ফলস্বরূপ অ্যারের প্রতিটি কী -এর জন্য সংশ্লিষ্ট মান হিসাবে উপস্থাপন করে।

সম্পর্কিত: অ্যারে এবং তালিকা কিভাবে পাইথনে কাজ করে

একটি সেট বোঝার একটি তালিকা বোঝার কিছুটা অনুরূপ। এখানে একটি সেট বোঝার একটি উদাহরণ:

ঠিক আছে গুগল আমার টর্চলাইট চালু কর
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

যাইহোক, তালিকা বোঝার বিপরীতে, সেট বোঝার নকলগুলি সরিয়ে দেয়:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

তারা কীভাবে আলাদা তা দেখতে একটি তালিকা বোঝার মাধ্যমে উপরের কোডটি ব্যবহার করে দেখতে পারেন।

আপনি কি প্রতিবার তালিকা বোঝার ব্যবহার করতে পারেন?

আমরা তালিকা বোঝার বিভিন্ন উদাহরণ এবং আপনি সেগুলি কোথায় ব্যবহার করতে পারেন তা দেখেছি। যাইহোক, অন্যান্য পাইথন পদ্ধতির মত, একটি তালিকা বোঝার ব্যবহার-কেস নির্দিষ্ট সমস্যার উপর নির্ভর করে যা আপনি সমাধান করতে চান। অতএব আপনার এটি শুধুমাত্র তখনই ব্যবহার করা উচিত যদি এটি নির্দিষ্ট সমস্যার জন্য আদর্শ যা আপনি সমাধান করতে চান।

তালিকা বোঝার অন্যতম উদ্দেশ্য হল আপনার কোডটি সহজ করা এবং এটিকে আরও পাঠযোগ্য করে তোলা। সুতরাং, এটি মোকাবেলা করার সময় আপনি জটিলতা এড়াতে ভুলবেন না। উদাহরণস্বরূপ, একটি দীর্ঘ পাইথন বোঝা পড়তে জটিল হতে পারে। এটি তার উদ্দেশ্যকে পরাস্ত করে।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল কিভাবে পাইথন তালিকা বোঝার ব্যবহার করবেন (এবং যখন তাদের ব্যবহার করবেন না)

পাইথনের এই আশ্চর্যজনক বৈশিষ্ট্যটি ব্যবহার করার বিষয়ে আপনার যা জানা দরকার তা এখানে যা রাতারাতি আপনার উত্পাদনশীলতা এবং কোড পাঠযোগ্যতা বাড়িয়ে তুলবে।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • পাইথন
লেখক সম্পর্কে ইডিসু ওমিসোলা(94 নিবন্ধ প্রকাশিত)

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

Idowu Omisola থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন