পাইথন xrange বনাম পরিসীমা

Python Xrange Vs Range



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

পরিসীমা ()
xrange ()







পাইথন (3 এর পরে) এর সর্বশেষ সংস্করণের সাথে এগিয়ে যাওয়া, পরিসীমা () প্রত্যাহার করা হয়েছিল এবং xrange () তারপর পরিসীমা () এ পরিবর্তিত হয়েছিল। এখন পাইথন 3 এ, এই পদ্ধতির জন্য শুধুমাত্র একটি ফাংশন আছে, যেমন, পরিসীমা ()। পাইথন 3 এ, রেঞ্জ () ফাংশনটি পাইথন 2.x এর xrange () এর পুরোনো সংস্করণ বাস্তবায়নের আরেকটি উপায়। এখানে, আমরা দুটি সম্পর্ক করব।



Xrange ()

Xrange () পরিসীমা () ফাংশনের মত একটি সংখ্যা ক্রম তৈরি করতে ব্যবহৃত হয়।



বাক্য গঠন

Xrange () সংজ্ঞায়িত করতে ব্যবহৃত সিনট্যাক্স হল:





xrange(শুরু,শেষ,পদক্ষেপ)

ফাংশনটি সংখ্যার পরিসীমা সংজ্ঞায়িত করতে ব্যবহৃত হয় (অন্তর্ভুক্ত) থেকে শেষ পর্যন্ত (অন্তর্ভুক্ত নয়)।

পরামিতি

প্রয়োজনীয় পরামিতিগুলির তালিকা নিচে দেওয়া হল:



& emsp; শুরু: সংখ্যা ক্রম শুরু অবস্থান
& emsp; শেষ: সংখ্যার ক্রমের শেষ অবস্থান
& emsp; ধাপ: সিরিজের পরপর দুটি সংখ্যার মধ্যে পার্থক্য।

উদাহরণ

নিম্নলিখিত উদাহরণে, আমরা xrange সংজ্ঞায়িত করার উপায়গুলি পরীক্ষা করব।

এখানে, আমরা শুধুমাত্র শেষ অবস্থান নির্দিষ্ট করব।

সুতরাং, শেষ মানটি 5 হিসাবে সেট করা হয়েছে, এবং তারপরে আমরা নীচের চিত্রের মতো শেষ অবস্থানটি মুদ্রিত হয়েছি:

এখন, আমরা কলিং রেঞ্জের পদ্ধতি দেখতে পাবো, কল এন্ড্ট সিনট্যাক্স হবে:

>>>এক্স= xrange(শেষ)

তারপর আমরা এটি মুদ্রিত করব।

আমরা আউটপুট মধ্যে পরিসীমা পাবেন, উপরে দেখানো হয়েছে।

এখন, আমরা শুরু এবং শেষ পয়েন্ট উভয় সংজ্ঞায়িত করব। এখানে, প্রারম্ভিক বিন্দু 2, এবং সমাপ্তি বিন্দু 5. আমরা তারপর শুরু এবং শেষ অবস্থানগুলি মুদ্রিত করেছি, যেমন নীচে দেখানো হয়েছে:

এর পরে, আমরা আমাদের শুরু এবং শেষ পয়েন্ট থেকে সংখ্যার একটি ক্রম তৈরি করব, অর্থাৎ 2 থেকে 5।

>>>এবং= xrange(শুরু,শেষ)

পরিশেষে, আমরা শুরু বিন্দু, ধাপ এবং সমাপ্তি বিন্দু নির্ধারণ করার পদ্ধতি পরীক্ষা করব। একবার আমরা তিনটি প্যারামিটার সংজ্ঞায়িত করেছি; আমরা তাদের নীচে দেখানো পদ্ধতির অনুরূপ কল করব:

এখন, এই তিনটি পরামিতির জন্য xrange কল করার জন্য, আমরা নিম্নলিখিত সিনট্যাক্স ব্যবহার করব:

>>>সঙ্গে= xrange(শুরু,পদক্ষেপ,শেষ)

পরিসীমা ()

Range () একটি তালিকা তৈরি করতে ব্যবহৃত হয় এবং এটি একাধিক পুনরাবৃত্তির জন্য একটি দ্রুত ফাংশন।

বাক্য গঠন

নিম্নলিখিত সিনট্যাক্স ব্যবহার করা হয়:

>>> পরিসীমা(শুরু,শেষ,পদক্ষেপ)

উদাহরণ

প্রথম ক্ষেত্রে, আমরা শেষ মান নির্ধারণ করব। এর জন্য ব্যবহৃত সিনট্যাক্স হল:

>>> পরিসীমা(শেষ)

সুতরাং, নীচে দেওয়া উদাহরণে, আমরা পরিসরের শেষ মান হিসাবে 3 ব্যবহার করব। যখন আমরা এটি মুদ্রিত করি, এটি শেষ মান বাদে মানগুলি ফেরত দেয়।

পরবর্তী উদাহরণে, আমরা শুরু এবং শেষ বিন্দু বর্ণনা করার উদাহরণ ব্যবহার করছি। মান 1 থেকে শুরু হবে এবং 10 এ শেষ হবে (এটি বাদ দিয়ে)। শুরু বিন্দু অন্তর্ভুক্ত করা হয়েছে, কিন্তু শেষ বিন্দু বাদ দেওয়া হয়েছে। সিনট্যাক্সটি নীচের দেওয়াটির অনুরূপ:

>>> পরিসীমা (শুরু,শেষ)

সুতরাং, আমরা শুরু বিন্দু এবং তারপর শেষ বিন্দু সংজ্ঞায়িত করি, যা যথাক্রমে 1 এবং 10।

এখন, পরবর্তী উদাহরণে, আমাদের স্টেপ ফাংশন থাকবে। ফাংশন যা ক্রমের মধ্যে যে কোন দুটি পয়েন্টের মধ্যে ব্যবধান নির্ধারণ করে। মান 0 থেকে শুরু হবে এবং 10 এ শেষ হবে (এটি বাদ দিয়ে)। ব্যবহৃত সিনট্যাক্স নিচে দেওয়া হল:

>>> পরিসীমা (শুরু,পদক্ষেপ,শেষ)

উদাহরণটি নীচে দেওয়া হয়েছে, যেখানে 2 হল ধাপের মান।

সুবিধাদি

পরিসীমা ()

পুনরাবৃত্তি একাধিকবার করা হলে এটি দ্রুততর হয়। পরিসীমা () শুধুমাত্র বাস্তব সময় পূর্ণসংখ্যা বস্তুর মান আছে। মেমরির ক্ষেত্রে, এটি ভালভাবে কার্যকর হয় না।

xrange ()

এটি প্রতিবার পূর্ণসংখ্যা বস্তু পুনরায় তৈরি করতে হবে। xrange () যেহেতু এটি স্লাইস এবং তালিকা পদ্ধতি সমর্থন করে না। xrange () একই পরিমাণ মেমরি নেয়। সুতরাং, যতদূর কর্মক্ষমতা সম্পর্কিত, বিশেষ করে যখন ব্যবহারকারীরা একটি বৃহত্তর পরিসরের মান পুনরাবৃত্তি করছে, xrange () অনেক ভাল সঞ্চালন করে।

পাইথন 2 এবং পাইথন 3 পরিসীমা এবং xrange এর মধ্যে মিল

পাইথন 2 এর xrange এর স্ট্রিং আকারে একটি বর্ণনামূলক উপস্থাপনা রয়েছে, যা পাইথন 3 এর পরিসীমা বস্তুর মূল্যের অনুরূপ।

পাইথন 2 এ xrange () এর মান পুনরাবৃত্তিযোগ্য, তাই পাইথন 3 এ rang ()।

xrange () এবং range () উভয়েরই একটি ধাপ, শেষ এবং প্রারম্ভিক বিন্দুর মান রয়েছে। উভয় ক্ষেত্রেই, পদক্ষেপ একটি alচ্ছিক ক্ষেত্র, তাই শুরু মান।

পাইথন 2 এবং 3 এর উভয় xrange সমর্থন দৈর্ঘ্য যা ফরোয়ার্ড বা বিপরীত ক্রমে সূচী করা যেতে পারে। এখানে একই একটি উদাহরণ:

পরিসীমা () এবং xrange () এর মধ্যে বৈষম্য

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

পরিসীমা () ফাংশনে ব্যবহৃত ভেরিয়েবল পরিসরের মান সংরক্ষণ করে এবং এইভাবে xrange () এর তুলনায় অনেক মেমরি লাগে যা ভেরিয়েবলের কারণে কিছু মেমরি নেয়। পরিসীমা () একটি পরিসীমা বস্তু প্রদান করে যেখানে, xrange () একটি জেনারেটর বস্তু প্রদান করে।

পরিসীমা (1, 7, 2) ফাংশন আউটপুট ফিরিয়ে দেবে [1, 3, 5] এবং ইনপুট xrange (1, 7, 2) আউটপুট [1, 3, 5] উৎপাদন করবে। এভাবেই আমরা অনুমান করতে পারি যে তারা প্যাটার্নে অনুরূপ।

উপসংহার

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