পাইথনে তালিকাগুলি কীভাবে সংযুক্ত করবেন

Pa Ithane Talikaguli Kibhabe Sanyukta Karabena



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

উদাহরণ 1: “+” অপারেটরের সাথে তালিকা সংযুক্ত করা

আমরা পাইথনে “+” অপারেটর ব্যবহার করতে পারি তালিকাগুলোকে সংযুক্ত করতে। “+” অপারেটর ব্যবহার করে, আপনি একটি নতুন তালিকা তৈরি করতে দুই বা তার বেশি তালিকায় যোগ দিতে পারেন। আপনি যখন তালিকা সহ “+” অপারেটর ব্যবহার করেন, তখন একটি নতুন তালিকা তৈরি হয় এবং মূল তালিকার উপাদানগুলি যে ক্রমে প্রদর্শিত হয় সেই ক্রমে নতুন তালিকায় অনুলিপি করা হয়।

এখানে একটি সহজ উদাহরণ:







শীট 1 = [ 1 , 2 , 3 ]

তালিকা2 = [ 4 , 5 , 6 ]

ফলাফল_তালিকা = list1 + list2

ছাপা ( ফলাফল_তালিকা )

এই চিত্রটিতে আমাদের দুটি তালিকা রয়েছে: 'লিস্ট1' এবং 'লিস্ট2'। আমরা তাদের একটি একক তালিকায় সংহত করতে “+” অপারেটর ব্যবহার করি। যখন তালিকার সাথে ব্যবহার করা হয়, তখন “+” অপারেটর তাদের সংযুক্ত করে যার অর্থ হল এটি দ্বিতীয় তালিকার উপাদানগুলির সাথে প্রথমটির শেষ পর্যন্ত যোগদান করে। সুতরাং, “result_list = list1 + list2″ চালানোর পর, “result_list”-এ “list1” এবং “list2” উভয়ের উপাদানই থাকবে যে ক্রমে তারা একত্রিত হয়েছে।





যদিও এই পদ্ধতিটি সংক্ষিপ্ত, মনে রাখবেন এটি একটি নতুন তালিকা তৈরি করে যা একটি অনুলিপি তৈরির ওভারহেডের কারণে বড় তালিকার জন্য কার্যকর নাও হতে পারে।





উদাহরণ 2: Extend() পদ্ধতি ব্যবহার করা

একটি পুনরাবৃত্ত আইটেম একটি বিদ্যমান তালিকার শেষে যুক্ত করা যেতে পারে extend() পদ্ধতি ব্যবহার করে। এটি একটি নতুন তালিকা তৈরি করে '+' অপারেটরের বিপরীতে আসল তালিকাটি পরিবর্তন করে।

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



ক্লাস_ছাত্র = [ 'এলিস' , 'বেল্লা' , 'চার্লি' ]

নতুন_ছাত্র = [ 'ডেভিড' , 'ইভা' , 'আদম' ]

ক্লাস_ছাত্র। প্রসারিত করা ( নতুন_ছাত্র )

ছাপা ( 'ছাত্রদের আপডেট করা তালিকা:' , ক্লাস_ছাত্র )

এই উদাহরণে, মূল তালিকা যা হল 'শ্রেণী_ছাত্র' বর্তমান ছাত্রদের নাম। 'নতুন_ছাত্র' তালিকায় এমন ছাত্রদের নাম রয়েছে যারা সম্প্রতি ক্লাসে যোগদান করেছে। এক্সটেন্ড() পদ্ধতি প্রয়োগ করে, আমরা মূল তালিকার শেষে নতুন ছাত্রদের নাম যোগ করি।

উদাহরণ 3: সংযোগের জন্য “+=” অপারেটর প্রয়োগ করা

“+=” অপারেটর হল প্রসারিত() পদ্ধতির একটি সংক্ষিপ্ত বিবরণ। এটি ডান-হাতের তালিকার উপাদানগুলিকে বাম-হাতের তালিকার সাথে একত্রিত করে, জায়গায় তালিকা পরিবর্তন করে।

ধরুন আমাদের কাছে প্রিয় রঙের একটি তালিকা আছে এবং আমরা “+=” অপারেটর ব্যবহার করে আরও রঙ যোগ করে তা আপডেট করতে চাই।

প্রিয়_রঙ = [ 'নীল' , 'সবুজ' , 'লাল' ]

অতিরিক্ত_রঙ = [ 'বেগুনি' , 'কমলা' , 'হলুদ' ]

প্রিয়_রঙ + = অতিরিক্ত_রঙ

ছাপা ( 'আপডেট করা প্রিয় রং:' , প্রিয়_রঙ )

এই পরিস্থিতিতে, আমরা আমাদের প্রিয় রংগুলির একটি তালিকা দিয়ে শুরু করি যা 'favorite_colors' দ্বারা প্রতিনিধিত্ব করা হয়। তারপরে, আমাদের কাছে কিছু নতুন রঙ রয়েছে যা আমরা 'অতিরিক্ত_রঙ' তালিকায় অন্তর্ভুক্ত করতে চাই। '+= অপারেটর' ব্যবহার করে, আমরা 'প্রিয়_রঙ' তালিকা পরিবর্তন করে আমাদের বিদ্যমান পছন্দের সাথে নতুন রংগুলিকে একত্রিত করি।

অপারেশনের পরে, যখন আমরা 'আমাদের আপডেট করা প্রিয় রং' মুদ্রণ করি, আমরা নিম্নলিখিত ফলাফল দেখতে পাব:

উদাহরণ 4: '*' অপারেটর ব্যবহার করা

'*' অপারেটর তালিকা প্রতিলিপি জন্য ব্যবহার করা যেতে পারে. কিন্তু যখন তালিকাগুলিতে প্রয়োগ করা হয়, তখন এটি উপাদানগুলির পুনরাবৃত্তি করে তাদের সংযুক্ত করতে পারে।

এখানে একটি উদাহরণ:

মূল_তালিকা = [ 1 , 2 , 3 ]

concatenated_list = মূল_তালিকা * 3

ছাপা ( concatenated_list )

এই ক্ষেত্রে, আমরা একটি 'অরিজিনাল_লিস্ট' দিয়ে শুরু করি যেটিতে [1, 2, 3] উপাদান রয়েছে। '*' অপারেটর ব্যবহার করে, আমরা একটি নতুন তালিকা তৈরি করি যা হল 'সংযুক্ত_তালিকা' যা মূল তালিকা থেকে উপাদানগুলির তিনটি পুনরাবৃত্তি নিয়ে গঠিত।

যদিও এই পদ্ধতিটি সংমিশ্রণের জন্য কম সাধারণ, এটি পাইথনের অপারেটরদের নমনীয়তা প্রদর্শন করে।

উদাহরণ 5: Itertools.chain() ফাংশন প্রয়োগ করা

itertools.chain() ফাংশনটি 'itertools' মডিউলের অংশ এবং এটি পুনরাবৃত্তিযোগ্য (যেমন তালিকা, টিপল, বা অন্যান্য পুনরাবৃত্তিযোগ্য বস্তু) একটি একক 'পুনরাবৃত্তিযোগ্য' এ সংযুক্ত করতে ব্যবহৃত হয়। কিছু অন্যান্য সংমিশ্রণ পদ্ধতির বিপরীতে, itertools.chain() একটি নতুন তালিকা তৈরি করে না তবে ইনপুট পুনরাবৃত্তির উপাদানগুলির উপর একটি পুনরাবৃত্তিকারী তৈরি করে।

থেকে itertools আমদানি চেইন

L1 = [ 1 , 2 , 3 ]

L2 = [ 'এক্স' , 'এবং' , 'সঙ্গে' ]

concatenated_iterable = চেইন ( L1 , L2 )

ফলাফল_তালিকা = তালিকা ( concatenated_iterable )

ছাপা ( ফলাফল_তালিকা )

প্রদত্ত উদাহরণে, আমাদের দুটি তালিকা রয়েছে – “L1”-এ সংখ্যাসূচক মান রয়েছে [1, 2, 3] এবং “L2”-এ বর্ণানুক্রমিক অক্ষর রয়েছে [“x”, “y”, “z”]। itertools.chain() ফাংশন ব্যবহার করে, আমরা এই তালিকাগুলিকে 'concatenated_iterable' দ্বারা উপস্থাপিত একটি একক পুনরাবৃত্তিযোগ্য রূপে সংযুক্ত করি। তারপর তালিকা() ফাংশনটি পুনরাবৃত্তকে একটি তালিকায় রূপান্তর করতে প্রয়োগ করা হয় যার ফলে সম্মিলিত তালিকা [1, 2, 3, “x”, “y”, “z”] হয়।

উদাহরণ 6: তালিকা স্লাইসিং

সূচকের একটি পরিসীমা প্রদান করে, তালিকা স্লাইসিং একটি কৌশল যা আমাদের একটি তালিকার একটি উপসেট পুনরুদ্ধার করতে দেয়। এটি বর্গাকার বন্ধনীর মধ্যে কোলন (:) অপারেটর ব্যবহার করে স্টার্ট, স্টপ এবং ঐচ্ছিকভাবে, ধাপের মানগুলি নির্দেশ করে।

এখানে উদাহরণ কোড:

প্রকৃত_তালিকা = [ 1 , 2 , 3 , 4 , 5 ]

sliced_list = প্রকৃত_তালিকা [ 1 : 4 ]

ছাপা ( sliced_list )

আমরা সংখ্যার একটি আসল তালিকা দিয়ে চিত্রটি শুরু করি যা 'বাস্তব_তালিকা' হিসাবে চিহ্নিত করা হয় যাতে উপাদান রয়েছে [1, 2, 3, 4, 5]। আমরা তালিকার একটি নির্দিষ্ট অংশ বের করি লিস্ট স্লাইসিং ব্যবহার করে যা পাইথনের একটি শক্তিশালী বৈশিষ্ট্য। এই উদাহরণে 'বাস্তব_তালিকা[1:4]' স্লাইস ব্যবহার করা হয়, এবং এটি সূচক 1 থেকে সূচক 3 (কিন্তু সূচক 4 থেকে নয়) উপাদানগুলি বেছে নেয়। ফলাফল হল একটি নতুন তালিকা, যার নাম “sliced_list”, যেটিতে কাটা অংশ রয়েছে [2, 3, 4]।

উদাহরণ 7: জিপ() ফাংশনের সাথে সংযুক্তি

zip() ফাংশন একাধিক পুনরাবৃত্তির উপাদানগুলিকে একত্রিত করে, সংশ্লিষ্ট উপাদানগুলির জোড়া বা টিপল তৈরি করে। একই সূচকে প্রতিটি পুনরাবৃত্তির উপাদানগুলি এই জোড়াগুলি তৈরি করতে ব্যবহৃত হয়।

ছাত্রদের = [ 'এলিস' , 'বব' , 'চার্লি' ]

শ্রেণীসমূহ = [ 85 , 92 , 78 ]

ছাত্র_গ্রেড_জোড়া = জিপ ( ছাত্রদের , শ্রেণীসমূহ )

ফলাফল_ডিক্ট = dict ( ছাত্র_গ্রেড_জোড়া )

ছাপা ( 'ছাত্র-গ্রেড জোড়া:' , ফলাফল_ডিক্ট )

এই উদাহরণে, zip() ফাংশন 'ছাত্রদের' তালিকা থেকে ছাত্রদের নামগুলিকে 'গ্রেড' তালিকা থেকে তাদের সংশ্লিষ্ট গ্রেডের সাথে যুক্ত করে যার ফলে একটি অভিধান তৈরি হয় যেখানে প্রতিটি শিক্ষার্থী তাদের নিজ নিজ গ্রেডের সাথে যুক্ত থাকে।

উপসংহার

উপসংহারে, পাইথন তালিকাগুলিকে একত্রিত করার জন্য অনেকগুলি উপায় অফার করে, প্রতিটি তার সুবিধা সহ। আমরা যখন বিভিন্ন পদ্ধতি অন্বেষণ করেছি, সহজবোধ্য “+” অপারেটর থেকে আরও সূক্ষ্ম zip() ফাংশন পর্যন্ত, এটি স্পষ্ট হয়ে উঠেছে যে পাইথন বিভিন্ন প্রোগ্রামিং শৈলী এবং পছন্দগুলি পূরণ করে। হাতে থাকা কাজের উপর নির্ভর করে, পঠনযোগ্যতা, মেমরির কার্যকারিতা এবং প্রসেস করা ডেটার ধরনগুলি কোন পদ্ধতিটি সেরা তা নির্ধারণ করবে।