পাইথনে বোঝার তালিকা করুন

List Comprehensions Python



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

পাইথনে লুপের জন্য

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







জন্যএক্সভিতরে পরিসীমা(10):
ছাপা(এক্স)

উপরের লুপটি দশটি সংখ্যা মুদ্রণ করবে যা 0 থেকে শুরু হয়ে 9 এ শেষ হবে।



বোঝার তালিকা

তালিকা বোঝা একটি লাইনার বিবৃতিতে লুপের জন্য মাল্টি-লাইন লেখার একটি সংক্ষিপ্ত / সংক্ষিপ্ত উপায় ছাড়া আর কিছুই নয়। নীচের তালিকা বোঝার উদাহরণটি x এর সমস্ত মান অন্তর্ভুক্ত করে [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] হিসাবে একটি নতুন তালিকা তৈরি করবে।



সংখ্যা= [এক্সজন্যএক্সভিতরে পরিসীমা(10)]
ছাপা (সংখ্যা)

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





সংখ্যা= []
জন্যএক্সভিতরে পরিসীমা(10):
সংখ্যাসংযোজন(এক্স)

ছাপা (সংখ্যা)

কর্মক্ষমতা এবং পাঠযোগ্যতা

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

উদাহরণ: ডিকশনারি এবং সেটের সাথে লিস্ট কম্প্রিহেনশন সিনট্যাক্স ব্যবহার করা

একটি পাইথন অভিধান কী-মান জোড়ায় সংজ্ঞায়িত উপাদানগুলির একটি সংগ্রহ যখন একটি সেট অনন্য মানগুলির একটি সংগ্রহ যেখানে ডুপ্লিকেট অনুমোদিত নয়। পাইথন অভিধান এবং সেটগুলির সাথে তালিকা বোঝার ব্যবহার করা যেতে পারে। বাক্য গঠন সামান্য ভিন্ন, বর্গক্ষেত্রের ধনুর্বন্ধনীতে অভিব্যক্তিটি মোড়ানোর পরিবর্তে, আপনাকে এখন কোঁকড়া ধনুর্বন্ধনী ব্যবহার করতে হবে। আপনি একটি নতুন তালিকার পরিবর্তে একটি নতুন অভিধান / সেট বস্তুও পাবেন।



তথ্য= {'শহর':'নিউ ইয়র্ক', 'নাম':'জন ডো'}

formatted_data= {k: v।শিরোনাম() জন্যপ্রতি,vভিতরেতথ্যআইটেম()}

ছাপা (formatted_data)

উপরের উদাহরণটি স্ট্রিং মানগুলিকে শিরোনাম ক্ষেত্রে রূপান্তরিত করবে এবং একটি নতুন অভিধান তৈরি করবে যার নাম formatted_data, যার আউটপুট হবে: {‘city’: ‘New York’, ‘name’: ‘John ​​Doe’}। আপনি বাম দিকে বিদ্যমান অভিধান ভেরিয়েবল উল্লেখ করে অভিধান / সেট ইন-প্লেস পরিবর্তন করতে পারেন।

তথ্য= {'শহর':'নিউ ইয়র্ক', 'নাম':'জন ডো'}

তথ্য= {k: v।শিরোনাম() জন্যপ্রতি,vভিতরেতথ্যআইটেম()}

ছাপা (তথ্য)

অভিধান বোঝার ব্যবহার না করে, কোডটি এইরকম দেখাবে:

তথ্য= {'শহর':'নিউ ইয়র্ক', 'নাম':'জন ডো'}

formatted_data= {}

জন্যপ্রতি,vভিতরেতথ্যআইটেম():
formatted_data[প্রতি] =v।শিরোনাম()

ছাপা (formatted_data)

যেহেতু সেটে কোন কী-ভ্যালু জোড়া নেই, সেহেতু একটি সেট বোঝার একটি তালিকা বোঝার মতো একইভাবে সংজ্ঞায়িত করা যেতে পারে। পার্থক্য শুধু কোঁকড়া ধনুর্বন্ধনী ব্যবহার।

উদাহরণ: একটি লিস্ট কম্প্রিহেনশনে একাধিক লুপের জন্য

উপরে উল্লিখিত তালিকা বোঝার উদাহরণটি মৌলিক এবং বিবৃতির জন্য একটি একক ব্যবহার করে। নীচে একটি উদাহরণ যা লুপের জন্য একাধিক ব্যবহার করে এবং একটি শর্তাধীন যদি বিবৃতি।

বিশেষণ= ['ডিস্ক', 'ইওন', 'ফোকাল', 'শৈল্পিক']

প্রাণী= ['ডিঙ্গো', 'এরমিন', 'খাঁদ', 'বিভার']

কোডনাম= [x +''+ এবংজন্যএক্সভিতরেবিশেষণজন্যএবংভিতরেপ্রাণীযদিএবং.সঙ্গে সঙ্গে শুরু হয়(এক্স[0])]

ছাপা (কোডনাম)

কোডটি ['ডিস্কো ডিঙ্গো', 'ইওন এরমিন', 'ফোকাল ফোসা'] আউটপুট হিসেবে দেখাবে। লুপগুলির জন্য দুটি বিশেষণ এবং প্রাণীর তালিকাগুলির উপর দিয়ে যায় এবং তাদের সদস্যরা একটি স্থান ব্যবহার করে একত্রিত হয়, শুধুমাত্র যদি উভয় শব্দের প্রথম অক্ষর একই হয়। তালিকা বোঝার ব্যবহার না করে, কোডটি এইরকম দেখাবে:

বিশেষণ= ['ডিস্ক', 'ইওন', 'ফোকাল', 'শৈল্পিক']
প্রাণী= ['ডিঙ্গো', 'এরমিন', 'খাঁদ', 'বিভার']

কোডনাম= []

জন্যএক্সভিতরেবিশেষণ:
জন্যএবংভিতরেপ্রাণী:
যদিএবং.সঙ্গে সঙ্গে শুরু হয়(এক্স[0]):
কোডনামসংযোজন(x +''+ এবং)

ছাপা (কোডনাম)

উদাহরণ: if-else ক্লজ দিয়ে Comprehension লিস্ট করুন

নীচের উদাহরণ তালিকা বোঝার ক্ষেত্রে if এবং else স্টেটমেন্টের ব্যবহার দেখাবে।

number_list= [, 2, 3, 4]
অন্য_ তালিকা= [5, 6, 7, 8]

ফলাফল= [সত্য যদি (x + y)%2 == 0 অন্য মিথ্যা জন্যএক্সভিতরেnumber_listজন্যএবংভিতরেঅন্য_ তালিকা]

ছাপা (ফলাফল)

দুটি তালিকার মাধ্যমে লুপ করার সময়, উপরের তালিকা বোঝার উপাদানগুলির জোড়াগুলির যোগফল সমান কিনা তা পরীক্ষা করে। উপরের কোডটি চালানো আপনাকে [সত্য, মিথ্যা, সত্য, মিথ্যা, মিথ্যা, সত্য, মিথ্যা, সত্য, মিথ্যা, সত্য, মিথ্যা, মিথ্যা, সত্য, মিথ্যা, সত্য] আউটপুট হিসাবে দেখাবে। তালিকা বোঝার ব্যবহার না করে, কোডটি এইরকম দেখাবে:

number_list= [, 2, 3, 4]
অন্য_ তালিকা= [5, 6, 7, 8]
ফলাফল= []

জন্যএক্সভিতরেnumber_list:
জন্যএবংভিতরেঅন্য_ তালিকা:
যদি (x + y)%2 == 0:
ফলাফল.সংযোজন(সত্য)
অন্য:
ফলাফল.সংযোজন(মিথ্যা)

ছাপা (ফলাফল)

উপসংহার

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