পাইরেজে অ্যারে এবং তালিকাগুলি কীভাবে কাজ করে

পাইরেজে অ্যারে এবং তালিকাগুলি কীভাবে কাজ করে

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





পূর্বশর্ত

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





নিম্নলিখিত মৌলিক ধারণাগুলি যে কোন ভাষায় প্রয়োগ করা যেতে পারে, আমি পাইথনে উদাহরণ প্রদর্শন করব। এটা শেখার জন্য একটি সহজ ভাষা এবং কি ঘটছে তা বোঝার জন্য একটি চমৎকার প্ল্যাটফর্ম প্রদান করে। এটি ছাড়াও, tutorialspoint.com একটি চমৎকার অনলাইন পাইথন দোভাষী প্রদান করে - যদি আপনি না চান তবে আপনাকে পাইথন ইনস্টল করতে হবে না (যদি আপনি করেন, ভার্চুয়াল পরিবেশের জন্য আমাদের গাইড দেখুন)।





ডাটা স্ট্রাকচার

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

আপনি হয়ত কিছু শুনেছেন রৈখিক ডেটা প্রকার (উপাদানগুলি ক্রমিক):



  • অ্যারে
  • ম্যাট্রিক্স
  • লুকআপ টেবিল

একইভাবে, তালিকা তারা কীভাবে কাজ করে তা নিয়ন্ত্রণ করার জন্য প্রায়শই নিয়ম এবং পদ্ধতি থাকে। কিছু সাধারণ তালিকা হল:

  • যোজিত তালিকা
  • দ্বিগুণ লিঙ্কযুক্ত তালিকা
  • অ্যারে তালিকা বা ডায়নামিক অ্যারে

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





অ্যারে

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

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





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

প্রথম লাইন আমদানি করে অ্যারে মডিউল - এটি অ্যারের সাথে কাজ করার জন্য প্রয়োজনীয়। দ্বিতীয় লাইন নামে একটি নতুন অ্যারে তৈরি করে সংখ্যা এবং এটি 2, 4, 6 এবং 8 এর মান দিয়ে শুরু করে পূর্ণসংখ্যা মান যা a বলে চাবি অথবা সূচক । চাবি শুরু হয় শূন্য , তাই সংখ্যা [0] প্রথম উপাদান অ্যাক্সেস করবে ( 2 ):

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

s21 আল্ট্রা বনাম 12 প্রো সর্বোচ্চ

আপনি এই অ্যারেতে মিশ্র ধরনের সংরক্ষণ করতে পারবেন না। বলুন আপনি 'makeuseof.com' স্ট্রিংটি সংরক্ষণ করতে চেয়েছিলেন:

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

এটি অনুমোদিত হবে না এবং একটি ব্যতিক্রম নিক্ষেপ করবে:

এখানে আপনি কিভাবে সব উপাদান মুদ্রণ করতে পারেন:

print(numbers)

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

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

for number in numbers:
print(number)

লক্ষ্য করুন কিভাবে আপনি তাদের কী দ্বারা উপাদানগুলি অ্যাক্সেস করতে পারেননি। এটি একটি অ্যারের সাথে কাজ করার অনেক ভালো উপায়। একটি তালিকার উপর পুনরাবৃত্তি করার একটি বিকল্প উপায় হল a জন্য লুপ:

for i in range(len(numbers)):
print(numbers[i])

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

তালিকা

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

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

আপনার এক্সবক্স ওয়ান কিভাবে পরিষ্কার করবেন
cars = ['Ford', 'Austin', 'Lancia']

লক্ষ্য করুন কিভাবে আপনাকে আমদানি করতে হবে না অ্যারে মডিউল?

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

print(cars)

অ্যারের মতো, আপনি লুপগুলি ব্যবহার করে তালিকার উপাদানগুলি পুনরাবৃত্তি করতে পারেন:

for car in cars:
print(car)

তালিকার আসল দলীয় কৌশল হল তাদের মিশ্র প্রকার। এগিয়ে যান এবং কিছু অতিরিক্ত তথ্য যোগ করুন:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

এটি পাইথনের জন্য কোন সমস্যা নয় - এটি একটি ব্যতিক্রমও উত্থাপন করেনি:

তালিকায় নতুন উপাদান যোগ করা সহজ (অ্যারে দিয়ে কিছু সম্ভব নয়):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

আপনি একটিতে দুটি তালিকা মার্জ করতে পারেন:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

এটি ব্যবহার করে উপাদানগুলি অপসারণ করাও সহজ অপসারণ বাক্য গঠন:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

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

শেয়ার করুন শেয়ার করুন টুইট ইমেইল আপনার ভার্চুয়ালবক্স লিনাক্স মেশিনগুলিকে সুপারচার্জ করার ৫ টি টিপস

ভার্চুয়াল মেশিন দ্বারা দেওয়া খারাপ পারফরম্যান্সে ক্লান্ত? আপনার ভার্চুয়ালবক্সের কর্মক্ষমতা বাড়ানোর জন্য আপনার যা করা উচিত তা এখানে।

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

জো যুক্তরাজ্যের লিংকন বিশ্ববিদ্যালয় থেকে কম্পিউটার বিজ্ঞানে স্নাতক। তিনি একজন পেশাদার সফটওয়্যার ডেভেলপার, এবং যখন তিনি ড্রোন উড়াচ্ছেন না বা সঙ্গীত লিখছেন না, তখন তাকে প্রায়ই ফটো তুলতে বা ভিডিও তৈরি করতে দেখা যায়।

জো কোবার্ন থেকে আরো

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

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

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