কম্পিউটার

পাইথন ম্যাপ ফাংশন:একটি ধাপে ধাপে নির্দেশিকা

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


আপনি যখন পাইথনে আইটেমগুলির একটি তালিকা নিয়ে কাজ করছেন, তখন আপনি সেই আইটেমগুলির প্রতিটিতে একটি নির্দিষ্ট ফাংশন সম্পাদন করতে চাইতে পারেন৷

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

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

পাইথন পুনরাবৃত্তিযোগ্য বস্তু

পুনরাবৃত্তিযোগ্য বস্তু হল এমন আইটেম যেগুলিতে গণনাযোগ্য সংখ্যক মান রয়েছে এবং যেগুলিকে অতিক্রম করা যেতে পারে। তালিকা, অভিধান, টিপল এবং সেটগুলি পাইথনের সমস্ত পুনরাবৃত্তিযোগ্য বস্তু কারণ এগুলিতে একাধিক মান থাকতে পারে এবং অতিক্রম করা যেতে পারে৷

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

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]

আমাদের students ভেরিয়েবলের একটি তালিকা রয়েছে, যা একটি পুনরাবৃত্তিযোগ্য বস্তু। এর মানে হল যে আমরা তালিকার আইটেমগুলির মধ্য দিয়ে যেতে পারি।

পাইথন ম্যাপ ফাংশন সিনট্যাক্স

ম্যাপ() ফাংশন একটি তালিকার প্রতিটি উপাদানকে পাস করে এবং প্রতিটি উপাদানে একটি ফাংশন চালায়। map() পাইথনে অন্তর্নির্মিত। এর মানে হল ম্যাপ() পদ্ধতি ব্যবহার করার জন্য আপনাকে কোনো লাইব্রেরি আমদানি করতে হবে না।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

পাইথন মানচিত্র() একটি উচ্চ-ক্রম ফাংশন যা একটি পুনরাবৃত্তিযোগ্য বস্তুর একাধিক উপাদানগুলিতে একটি নির্দিষ্ট ফাংশন প্রয়োগ করতে ব্যবহার করা যেতে পারে। Python map()-এর সিনট্যাক্স ফাংশন নিম্নরূপ:

map(function, iterable)

প্রথম যুক্তি মানচিত্র() ফাংশন লাগে ফাংশন। এটি এমন ফাংশন যা পুনরাবৃত্তিযোগ্য প্রতিটি আইটেমে কার্যকর করা হবে। পুনরাবৃত্ত একটি বস্তু যা ম্যাপ করা হবে, যেমন একটি তালিকা, টিপল, অভিধান, বা সেট৷

পাইথনে ম্যাপ ফাংশনটি কীভাবে ব্যবহার করবেন

বলুন আপনি একটি স্কুলের একজন প্রশাসক যেটিকে একটি পূর্ণ ছাত্র তালিকা তৈরি করার দায়িত্ব দেওয়া হয়েছে।

আমরা প্রতিটি ছাত্রের ক্লাস গ্রেডের সাথে তাদের নামের পাশে তালিকাভুক্ত ছাত্রদের নামের একটি তালিকা প্রিন্ট করার সিদ্ধান্ত নিই। দুটি ভিন্ন গ্রেডের দুই শিক্ষার্থীর নাম একই থাকলে এটি বিভ্রান্তি রোধ করবে।

এটি পাইথন ম্যাপ() ফাংশনের একটি নিখুঁত অ্যাপ্লিকেশন। আমাদের কাছে একটি পুনরাবৃত্তিযোগ্য রয়েছে যার উপর আমরা একটি ফাংশন চালাতে চাই। ফাংশনটি একজন শিক্ষার্থীর নামকে তারা যে গ্রেডে রয়েছে তার সাথে একত্রিত করবে। এখানে একটি প্রোগ্রাম যা শিক্ষার্থীদের নাম তাদের গ্রেড স্তরের সাথে একত্রিত করতে ব্যবহার করা যেতে পারে:

def mergeNamesAndGrades(name):
	return name + " First Grade"

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]
student_roster = map(mergeNamesAndGrades, students)

প্রথম দুটি লাইনে, আমরা mergeNamesAndGrades নামে একটি পাইথন ফাংশন ঘোষণা করি . এই ফাংশনটি প্রতিটি শিক্ষার্থীর নামের সাথে প্রথম গ্রেড যুক্ত করে .

তারপর, পরবর্তী লাইনে, আমরা আমাদের স্কুলের ছাত্রদের তালিকা সংজ্ঞায়িত করি। আমাদের তালিকায় পাঁচজন শিক্ষার্থী রয়েছে।

মানচিত্র() ফাংশন স্টুডেন্ট_রস্টার এর বিষয়বস্তুতে প্রয়োগ করা হয় পাইথন পরিবর্তনশীল। ম্যাপ() ফাংশন দুটি আর্গুমেন্ট নেয়:ফাংশন (এই ক্ষেত্রে, মার্জনাম এবং গ্রেডস) এবং পুনরাবৃত্তিযোগ্য বস্তু (ছাত্র)।

ম্যাপ() পদ্ধতিটি আমাদের তালিকার প্রতিটি শিক্ষার্থীর জন্য mergeNamesAndGrades() ফাংশন প্রয়োগ করে।

একটি পাইথন মানচিত্রকে একটি তালিকায় রূপান্তর করা হচ্ছে

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

<map object at 0x7f2c74103890>

এই আউটপুটটি তৈরি হয়েছিল কারণ মানচিত্র() ফাংশন একটি তালিকার পরিবর্তে নিজস্ব কাস্টম অবজেক্ট প্রদান করে। সুতরাং, যদি আমরা ছাত্রদের নামের তালিকা প্রিন্ট করতে চাই, তাহলে আমাদের ছাত্র_রস্টারকে রূপান্তর করতে হবে একটি তালিকা পরিবর্তনশীল. এই ক্রিয়াটি সম্পাদন করতে আমরা যে কোডটি ব্যবহার করতে পারি তা এখানে:

print(list(student_roster))

আমাদের কোড নিম্নলিখিত পাইথন তালিকা প্রদান করে:

['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']

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

def changeCase(name):
	return name.upper()

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']
final_student_roster = map(changeCase, student_roster)
print(list(final_student_roster))

আমাদের কোড একটি তালিকা প্রদান করে যার উপরে আমরা পুনরাবৃত্তি করতে পারি:

['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']

এই উদাহরণে, আমরা changeCase নামে একটি ফাংশন সংজ্ঞায়িত করেছি। এই ফাংশনটি প্রতিটি ছাত্রের নাম বড় হাতের অক্ষরে পরিবর্তন করেছে। আমরা পাইথন upper() ব্যবহার করেছি প্রতিটি নামের ক্ষেত্রে রূপান্তর করার ফাংশন।

আমাদের প্রোগ্রাম মানচিত্র() ব্যবহার করেছে চেঞ্জকেস() কল করার ফাংশন আমাদের পুনরাবৃত্তিযোগ্য স্টুডেন্ট_রোস্টার-এর প্রতিটি বস্তুতে . অবশেষে, আমাদের প্রোগ্রাম ছাত্রদের নামের সংশোধিত তালিকাটি বড় অক্ষরে ফিরিয়ে দিয়েছে।

ল্যাম্বডা সহ পাইথন ম্যাপ ফাংশন

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

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

Lambda ফাংশন map() এর সাথে ব্যবহার করা যেতে পারে ছোট ফাংশনের জন্য যেখানে আমরা একটি নতুন ফাংশন সংজ্ঞায়িত করতে চাই না।

যেহেতু ল্যাম্বডা ফাংশনগুলি নিয়মিত ফাংশনগুলির তুলনায় আরও সংক্ষিপ্ত, আপনার যখন সম্ভব তখন সেগুলি ব্যবহার করার চেষ্টা করা উচিত। সাধারণ ফাংশনগুলির জন্য ল্যাম্বডা ফাংশন ব্যবহার করা আপনার কোডের পঠনযোগ্যতা উন্নত করতে সাহায্য করবে৷

শিক্ষার্থীদের নামের তালিকার কেসকে বড় হাতের অক্ষরে রূপান্তর করতে ল্যাম্বডা ব্যবহার করা হচ্ছে, যেমন আমরা উপরে করেছি:

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']
final_student_roster = map(lambda s: s.upper(), student_roster)
print(list(final_student_roster))

আমরা আমাদের ছাত্রদের নামের ক্ষেত্রে বড় হাতের অক্ষরে রূপান্তর করার জন্য একটি নতুন ফাংশন ঘোষণা করিনি। পরিবর্তে, আমরা lambda s:s.upper() ব্যবহার করেছি , যা একটি ছোট, বেনামী ফাংশন যা আমাদের ছাত্রদের নামের ক্ষেত্রে রূপান্তর করবে।

আমাদের কোড নিম্নলিখিত প্রদান করে:

['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']

উপসংহার

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

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

map() ব্যবহার শুরু করার জন্য আপনাকে পাইথন জ্ঞানের সাথে সজ্জিত করতে হবে একজন পেশাদারের মতো৷


  1. পাইথন দোভাষী:একটি ধাপে ধাপে গাইড

  2. পাইথন পাওয়ার:একটি ধাপে ধাপে নির্দেশিকা

  3. পাইথন ফাইলের নাম পরিবর্তন করুন:একটি ধাপে ধাপে নির্দেশিকা

  4. পাইথন পরম মান:একটি ধাপে ধাপে নির্দেশিকা