পাইথনে তালিকা প্রদর্শনের জন্য 6টি ভিন্ন পদ্ধতি

পাইথনে তালিকা প্রদর্শনের জন্য 6টি ভিন্ন পদ্ধতি

উত্স নোড: 3091325

ভূমিকা

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

আমাদের তালিকাভুক্ত বিনামূল্যে কোর্স পাইথনের।

সুচিপত্র

পাইথনে তালিকা মুদ্রণ করুন

মুদ্রণ পাইথনে তালিকা পদ্ধতির একটি পরিসর উন্মুক্ত করে, এবং এই নিবন্ধে, আমরা বেশ কয়েকটি কার্যকর পন্থা অন্বেষণ করব:

  • লুপের জন্য ব্যবহার করা হচ্ছে
  • প্রদর্শনের জন্য একটি তালিকাকে স্ট্রিংয়ে রূপান্তর করুন
  • প্রিন্টে সেপ প্যারামিটার ব্যবহার করে()
  • মানচিত্র() ফাংশন ব্যবহার করে
  • ইন্ডেক্সিং এবং স্লাইসিং ব্যবহার করে
  • তালিকা বোঝার ব্যবহার

একটি ফর লুপ ব্যবহার করে পাইথনে একটি তালিকা প্রদর্শন করুন

0 থেকে এর দৈর্ঘ্য পর্যন্ত তালিকার মাধ্যমে পুনরাবৃত্তি করুন এবং একটি ফর লুপ ব্যবহার করে প্রতিটি উপাদান পৃথকভাবে মুদ্রণ করুন; এটি এটি সম্পন্ন করার প্রচলিত উপায়।

নীচে একটি লুপ ব্যবহার করে পাইথনে একটি তালিকা প্রদর্শনের একটি উদাহরণ রয়েছে:

# Creating a list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying each fruit using a for loop

print("List of Fruits:")

for fruit in fruits:

    print(fruit)

এই উদাহরণে, আমাদের কাছে ফলের একটি তালিকা রয়েছে এবং ফর লুপ তালিকার প্রতিটি আইটেমের মাধ্যমে পুনরাবৃত্তি করে, তাদের একে একে প্রদর্শন করে।

আউটপুট:

তালিকা প্রদর্শন করা হচ্ছে

সময়ের জটিলতা (O(n)):

সময়ের জটিলতা হল O(n) কারণ, একটি ফর লুপে, তালিকার প্রতিটি উপাদান একবার পরিদর্শন করা হয় এবং লুপটি কার্যকর করতে যে সময় লাগে তা ইনপুট তালিকার উপাদানগুলির সংখ্যার সাথে সরাসরি সমানুপাতিক।

স্থান জটিলতা (O(1)):

স্থান জটিলতা হল O(1) কারণ লুপটি ইনপুট আকার নির্বিশেষে একটি ধ্রুবক পরিমাণ মেমরি ব্যবহার করে; এটি তালিকার প্রতিটি আইটেমকে প্রতিনিধিত্ব করার জন্য শুধুমাত্র একটি একক পরিবর্তনশীল (উপাদান) নিয়োগ করে এবং ইনপুটের সাথে বৃদ্ধি পাওয়া অতিরিক্ত ডেটা স্ট্রাকচার তৈরি করে না।

একটি স্ট্রিং এ রূপান্তর করে একটি তালিকা প্রদর্শন করুন

একটি তালিকা সঙ্গে মোকাবিলা করার সময় স্ট্রিং, একটি সহজবোধ্য পদ্ধতি হল সহজ সংযোগের জন্য join() ফাংশন ব্যবহার করা। যাইহোক, যখন তালিকায় পূর্ণসংখ্যা থাকে, তখন একটি দ্বি-পদক্ষেপ প্রক্রিয়ার প্রয়োজন হয়: প্রথমে, সেগুলিকে স্ট্রিংয়ে রূপান্তর করুন এবং তারপর প্রদর্শনের জন্য একটি ইউনিফাইড স্ট্রিং তৈরি করতে join() ফাংশনটি ব্যবহার করুন।

এখানে একটি উদাহরণ দেয়া হলঃ

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Convert the list to a string and display it

result_string = ', '.join(fruits)

print("List of Fruits: " + result_string)

এই উদাহরণে, যোগদান পদ্ধতি তালিকার উপাদানগুলিকে এককভাবে সংযুক্ত করে স্ট্রিং, একটি কমা এবং একটি স্থান দ্বারা পৃথক করা হয়েছে৷ ফলাফল তারপর একটি বিন্যাসিত স্ট্রিং হিসাবে প্রদর্শিত হয়.

আউটপুট:

তালিকা প্রদর্শন করা হচ্ছে

সময়ের জটিলতা (O(n)):

সময়ের জটিলতা হল O(n) কারণ, একটি ফর লুপে, তালিকার প্রতিটি উপাদান একবার প্রসেস করা হয় এবং কার্যকর করার সময় ইনপুট তালিকার উপাদানের সংখ্যার সাথে রৈখিকভাবে স্কেল করে। ইনপুট বাড়ার সাথে সাথে অ্যালগরিদমের রানটাইম আনুপাতিকভাবে বৃদ্ধি পায়।

স্থান জটিলতা (O(1)):

স্থান জটিলতা হল O(1) কারণ অ্যালগরিদম ইনপুট আকার নির্বিশেষে একটি ধ্রুবক পরিমাণ মেমরি ব্যবহার করে। তালিকার প্রতিটি আইটেমকে উপস্থাপন করার জন্য লুপের শুধুমাত্র একটি একক পরিবর্তনশীল (উপাদান) প্রয়োজন এবং এটি ইনপুট তালিকার আকারের উপর নির্ভর করে অতিরিক্ত ডেটা স্ট্রাকচার বা মেমরি তৈরি করে না।

প্রিন্টে সেপ প্যারামিটার সহ প্রদর্শন করুন()

print() ফাংশনে sep প্যারামিটার আপনাকে আপনি যে আইটেমগুলি মুদ্রণ করছেন তার মধ্যে একটি বিভাজক নির্দিষ্ট করতে দেয়। 

তারকাচিহ্ন (*) চিহ্ন ব্যবহার করে আপনি স্পেস সহ একটি একক লাইনে তালিকা উপাদান উপস্থাপন করতে পারবেন। একটি নতুন লাইনে বা কমা দ্বারা পৃথক করা প্রতিটি উপাদান সহ একটি প্রদর্শনের জন্য, যথাক্রমে sep=”n” বা sep=”, ” ব্যবহার করুন। 

এখানে ফলের তালিকা ব্যবহার করে একটি উদাহরণ দেওয়া হল:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list with a custom separator using the sep parameter

print("List of Fruits:", *fruits, sep=", ")

এই উদাহরণে, sep=”, ” উল্লেখ করে যে একটি কমা এবং একটি স্থান তালিকার আইটেমগুলির মধ্যে বিভাজক হিসাবে ব্যবহার করা উচিত।

আউটপুট:

সময়ের জটিলতা (O(n)):

সময়ের জটিলতা হল O(n) কারণ, লুপের জন্য a সহ, তালিকার প্রতিটি উপাদান পৃথকভাবে প্রক্রিয়া করা হয়। উপাদানের (n) সংখ্যা বাড়ার সাথে সাথে কার্যকর করার সময় রৈখিকভাবে বৃদ্ধি পায়, ইনপুট আকার এবং গণনার সময়ের মধ্যে একটি সরাসরি সম্পর্ক প্রতিফলিত করে।

স্থান জটিলতা (O(1)):

স্থান জটিলতা হল O(1) যেহেতু অ্যালগরিদম একটি সামঞ্জস্যপূর্ণ পরিমাণ মেমরি ব্যবহার করে, ইনপুট আকার থেকে স্বাধীন। লুপ ভেরিয়েবলের একটি নির্দিষ্ট সেট নিয়োগ করে (যেমন 'উপাদান') এবং অতিরিক্ত ডেটা স্ট্রাকচার তৈরি করা বা ইনপুট আকারের সাথে গতিশীলভাবে মেমরি বরাদ্দ করা এড়িয়ে যায়।

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

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

পাইথনে ফলের তালিকা প্রদর্শনের একটি উদাহরণ এখানে দেওয়া হল:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the list of fruits

print("List of Fruits:", fruits)

আউটপুট:

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

ইন্ডেক্সিং এবং স্লাইসিং ব্যবহার করে পাইথনে একটি তালিকা প্রদর্শন করুন

আপনি নির্দিষ্ট উপাদান বা তালিকার একটি উপসেট অ্যাক্সেস করতে ইন্ডেক্সিং এবং স্লাইসিং ব্যবহার করে পাইথনে একটি তালিকা প্রদর্শন করতে পারেন। 

এখানে একটি উদাহরণ দেয়া হলঃ

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Displaying the entire list

print("Complete List of Fruits:", fruits)

# Displaying specific elements using indexing

print("First Fruit:", fruits[0])

print("Third Fruit:", fruits[2])

# Displaying a subset using slicing

print("Subset of Fruits:", fruits[1:4])

আউটপুট:

এই উদাহরণে, ইনডেক্সিং ব্যবহার করা হয় পৃথক উপাদানগুলি অ্যাক্সেস করতে (যেমন, প্রথম উপাদানের জন্য ফল[0]), এবং স্লাইসিং ব্যবহার করা হয় তালিকার একটি উপসেট প্রদর্শন করতে (যেমন, ফল[1:4] সূচক 1-এ উপাদানগুলির জন্য, 2, এবং 3)।

সময়ের জটিলতা (O(n)):

সময়ের জটিলতা হল O(n) কারণ সূচী বা স্লাইসিং ব্যবহার করে একটি তালিকার মাধ্যমে পুনরাবৃত্তি করার জন্য প্রতিটি উপাদান একবার পরিদর্শন করা জড়িত। তালিকার আকার (n) বাড়ার সাথে সাথে তালিকাটি অ্যাক্সেস বা স্লাইস করতে সময় লাগে রৈখিকভাবে বৃদ্ধি পায়।

স্থান জটিলতা (O(1)):

স্থান জটিলতা হল O(1) ইন্ডেক্সিং এবং স্লাইসিং অপারেশনের জন্য কারণ তারা তালিকার আকার নির্বিশেষে একটি ধ্রুবক অতিরিক্ত মেমরি ব্যবহার করে। সূচক/স্লাইস ভেরিয়েবলের জন্য প্রয়োজনীয় মেমরি স্থির থাকে, ইনপুট আকারের সাথে স্কেলিং না করে।

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

তালিকা বোধগম্য হল পাইথনের একটি সংক্ষিপ্ত বৈশিষ্ট্য যা বিদ্যমান পুনরাবৃত্তিযোগ্য প্রতিটি আইটেমে একটি অভিব্যক্তি প্রয়োগ করে তালিকা তৈরি করার জন্য। এটি একটি কমপ্যাক্ট সিনট্যাক্স প্রদান করে যা একটি নতুন তালিকা তৈরি এবং এর উপাদানগুলিতে একটি রূপান্তর প্রয়োগ করার ধাপগুলিকে একত্রিত করে।

তালিকা বোধগম্যতা ব্যবহার করে ফলগুলির একটি পরিবর্তিত তালিকা প্রদর্শনের একটি উদাহরণ এখানে দেওয়া হল:

# Example list of fruits

fruits = ["apple", "banana", "orange", "grape", "kiwi"]

# Using list comprehension to create a new list with capitalized fruits

capitalized_fruits = [fruit.capitalize() for fruit in fruits]

# Displaying the new list

print("Capitalized Fruits:", capitalized_fruits)

আউটপুট:

তালিকা প্রদর্শন করা হচ্ছে

এই উদাহরণে, তালিকা বোধগম্যতা একটি নতুন তালিকা তৈরি করতে ব্যবহার করা হয় (ক্যাপিটালাইজড_ফ্রুটস)। ফলাফল হল ফলগুলির একটি তালিকা যার নাম বড় করা হয়েছে।

সময়ের জটিলতা (O(n)):

এই উদাহরণের জন্য সময়ের জটিলতা হল O(n) কারণ এটি ফলের মূল তালিকার প্রতিটি উপাদানের মাধ্যমে পুনরাবৃত্তি করে। সঞ্চালনের সময়টি ফলের সংখ্যার সাথে রৈখিকভাবে স্কেল করে, এটি ইনপুট তালিকার আকারের সমানুপাতিক করে তোলে।

স্থান জটিলতা (O(n)):

স্থান জটিলতা হল O(n) কারণ তালিকা বোঝা একটি নতুন তালিকা তৈরি করে (ক্যাপিটালাইজড_ফল) যা ইনপুট তালিকার (ফল) আকারের সাথে বৃদ্ধি পায়। মূল তালিকার প্রতিটি উপাদান নতুন তালিকার একটি উপাদানের সাথে মিলে যায়, ইনপুট আকার এবং ব্যবহৃত মেমরির মধ্যে একটি রৈখিক সম্পর্কে অবদান রাখে।

উপসংহার

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

সচরাচর জিজ্ঞাস্য

প্রশ্ন ১. কেন তালিকা প্রদর্শনের জন্য তালিকা বোঝার সুপারিশ করা হয়?

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

প্রশ্ন ২. একটি তালিকা প্রদর্শন করার সময় কীভাবে সূচীকরণ সময় জটিলতাকে প্রভাবিত করে?

A. তালিকার আকার নির্বিশেষে স্থির সময় প্রদান করে, পৃথক উপাদানগুলি অ্যাক্সেস করার জন্য ইনডেক্সিং-এর সময় জটিলতা রয়েছে O(1)। যাইহোক, O(n) সময় জটিলতায় ইন্ডেক্সিং ফলাফল ব্যবহার করে সমগ্র তালিকার মাধ্যমে পুনরাবৃত্তি করা হয়।

Q3. প্রিন্ট() এর সেপ প্যারামিটার কখন ব্যবহার করা উচিত?

উ: একটি মুদ্রিত তালিকার আইটেমগুলির মধ্যে বিভাজক কাস্টমাইজ করার সময় sep প্যারামিটারটি কার্যকর। এটি একটি সংগঠিত প্রদর্শনের জন্য অনুমতি দেয়, বিশেষ করে যখন একটি একক লাইনে বা একটি নির্দিষ্ট বিভাজকের সাথে উপাদান উপস্থাপন করা হয়।

Q4. স্ট্রিংগুলির একটি তালিকা প্রদর্শনের জন্য একটি প্রস্তাবিত পদ্ধতি আছে কি?

উ: হ্যাঁ, স্ট্রিংগুলির একটি তালিকা প্রদর্শনের জন্য join() ফাংশন ব্যবহার করার পরামর্শ দেওয়া হয়। এটি দক্ষতার সাথে একটি নির্দিষ্ট বিভাজকের সাথে উপাদানগুলিকে সংযুক্ত করে, সহজ প্রদর্শনের জন্য একটি ইউনিফাইড স্ট্রিং তৈরি করে।

প্রশ্ন 5: কীভাবে তালিকা বোঝা স্থান জটিলতাকে প্রভাবিত করে?

A5: তালিকা বোঝার একটি স্থান জটিলতা রয়েছে O(n), যেখানে n হল ইনপুট তালিকার আকার। এটি মূল তালিকার মতো একই সংখ্যক উপাদান সহ একটি নতুন তালিকা তৈরি করে। অতএব, ইনপুট আকার এবং মেমরি ব্যবহারের মধ্যে একটি রৈখিক সম্পর্ক অবদান.

সময় স্ট্যাম্প:

থেকে আরো বিশ্লেষণ বিদ্যা