কম্পিউটার

অ্যারে — পাইথনে সাংখ্যিক মানের দক্ষ অ্যারে


অ্যারে হল C/C++, Java ইত্যাদিতে একটি খুব জনপ্রিয় ডেটা স্ট্রাকচার। এই ভাষাগুলিতে অ্যারেকে একই ধরনের ডেটা টাইপের একাধিক উপাদানের সংগ্রহ হিসাবে সংজ্ঞায়িত করা হয়। পাইথনের কোনো বিল্ট-ইন সমতুল্য অ্যারের নেই। এটির তালিকার পাশাপাশি Tuple হল উপাদানগুলির একটি সংগ্রহ তবে সেগুলি বিভিন্ন ধরণের হতে পারে৷

পাইথনের অ্যারে মডিউল সি টাইপ অ্যারেকে অনুকরণ করে। মডিউল 'অ্যারে' ক্লাস সংজ্ঞায়িত করে। নিম্নলিখিত কনস্ট্রাক্টর একটি অ্যারে অবজেক্ট তৈরি করে:

array(typecode, initializer)

টাইপকোড আর্গুমেন্ট অ্যারের প্রকার নির্ধারণ করে। ইনিশিয়ালাইজারটি মিলে যাওয়া ধরণের সমস্ত উপাদানের সাথে একটি ক্রম হওয়া উচিত।

নিম্নলিখিত বিবৃতি একটি পূর্ণসংখ্যা অ্যারে অবজেক্ট তৈরি করে:

>>> import array
>>> arr = array.array('i', range(5))
>>> arr
array('i', [0, 1, 2, 3, 4])
>>> type(arr)
<class 'array.array'>
>>> array.typecodes
'bBuhHiIlLqQfd'

অ্যারে মডিউল টাইপকোড অ্যাট্রিবিউটকে সংজ্ঞায়িত করে যা একটি স্ট্রিং প্রদান করে। স্ট্রিং-এর প্রতিটি অক্ষর সি টাইপ এবং সমতুল্য পাইথন টাইপ নির্দেশ করে একটি টাইপ কোড উপস্থাপন করে:

৷ ৷ ৷ ৷ ৷ ৷
কোড টাইপ করুন C প্রকার পাইথন প্রকার
'b' স্বাক্ষরিত অক্ষর int
'B' স্বাক্ষরবিহীন অক্ষরint
'u' Py_UNICODE ইউনিকোড অক্ষর
'h'স্বাক্ষরিত সংক্ষিপ্তint
'H' অস্বাক্ষরহীন সংক্ষিপ্তint
'i' স্বাক্ষরিত intint
'I' আনসাইন করা int int
'l' দীর্ঘ স্বাক্ষরিতint
'L' আনসাইন করা লম্বা int
'q' লম্বা লম্বা স্বাক্ষরিত int
'Q' আনসাইন করা লম্বা লম্বা int
'f' ফ্লোট ফ্লোট
'd' ডবল ফ্লোট

ইনিশিয়ালাইজার আর্গুমেন্ট বস্তুর মত বাইট হতে পারে। নিম্নলিখিত উদাহরণ স্ট্রিং এর বাইট উপস্থাপনা থেকে একটি অ্যারে তৈরি করে।

>>> arr1 = array.array('b', b'Hello')
>>> arr1
array('b', [72, 101, 108, 108, 111])

অ্যারে ক্লাস নিম্নলিখিত পদ্ধতিগুলিকে সংজ্ঞায়িত করে:

array.buffer_info()

এই পদ্ধতিটি একটি টিপল (ঠিকানা, দৈর্ঘ্য) প্রদান করে যা বর্তমান মেমরির ঠিকানা এবং অ্যারের বিষয়বস্তু ধরে রাখতে ব্যবহৃত বাফারের উপাদানগুলির দৈর্ঘ্য প্রদান করে।

>>> arr = array.array('i', [0, 1, 2, 3, 4])
>>> arr.buffer_info()
(2201141755144, 5)

গণনা()

এই পদ্ধতিটি অ্যারেতে নির্দিষ্ট উপাদানের সংঘটনের সংখ্যা প্রদান করে।

>>> arr = array.array('i', [0, 1, 2, 3, 4])
>>> arr.count(2)
1

প্রসারিত()

এই পদ্ধতিতে পুনরাবৃত্তিযোগ্য থেকে অ্যারের শেষ পর্যন্ত বা পুনরাবৃত্তিযোগ্য আইটেমগুলিকে যুক্ত করা হয় যাতে অবশ্যই একই ধরনের কোড থাকতে হবে; যদি না হয়, TypeError উত্থাপিত হবে।

>>> arr = array.array('i', [0, 1, 2, 3, 4])
>>> arr1 = array.array('i',[10,20,30])
>>> arr.extend(arr1)
>>> arr
array('i', [0, 1, 2, 3, 4, 10, 20, 30])

ফাইল()

থেকে

এই পদ্ধতিটি ফাইল অবজেক্ট থেকে n আইটেমগুলি (মেশিনের মান হিসাবে) পড়ে এবং একটি অ্যারের সাথে যুক্ত হয়৷

নিম্নলিখিত উদাহরণে, আমরা প্রথমে বাইনারি রাইট মোডে একটি ফাইল খুলি।

>>> file = open('test.txt','wb')
>>> file.write(b'Hello Python')
12
>>> file.close()

আমরা এখন এই ফাইলটিকে অ্যারে অবজেক্টে ডেটা যুক্ত করতে ব্যবহার করি৷

>>> a = array.array('i')
>>> file = open('test.txt','rb')
>>> a.fromfile(file,file.tell())
>>> a
array('i', [1819043144, 2035294319, 1852794996])

সংযোজন()

এই পদ্ধতিটি অ্যারের শেষে একটি নতুন আইটেম যুক্ত করে

fromlist()

এই পদ্ধতিটি তালিকা থেকে অ্যারেতে আইটেম যুক্ত করে। এটি তালিকায় x এর সমতুল্য:a.append(x)

>>> a = array.array('i')
>>> a.append(10)
>>> a
array('i', [10])
>>> num = [20,30,40,50]
>>> a.fromlist(num)
>>> a
array('i', [10, 20, 30, 40, 50])

ঢোকান()

নির্দিষ্ট অবস্থানের আগে অ্যারেতে একটি নতুন আইটেম সন্নিবেশ করুন

>>> a = array.array('i', [10, 20, 30, 40, 50])
>>> a.insert(2,25)
>>> a
array('i', [10, 20, 25, 30, 40, 50])

পপ()

এই পদ্ধতিটি অ্যারে থেকে মুছে ফেলার পর প্রদত্ত সূচীতে আইটেম ফেরত দেয়।

>>> a = array.array('i', [10, 20, 30, 40, 50])
>>> x = a.pop(2)
>>> x
30
>>> a
array('i', [10, 20, 40, 50])

সরান()

এই পদ্ধতিটি অ্যারে থেকে প্রদত্ত আইটেমের প্রথম উপস্থিতি সরিয়ে দেয়।

>>> a = array.array('i', [10, 20, 30, 40, 50])
>>> a.remove(30)
>>> a
array('i', [10, 20, 40, 50])

tofile()

এই পদ্ধতিতে লেখার অনুমতি সক্রিয় থাকা অবস্থায় ফাইল অবজেক্টে সমস্ত আইটেম লিখুন।

>>> a = array.array('i', [10, 20, 30, 40, 50])
>>> file = open("test.txt","wb")
>>> a.tofile(file)
>>> file.close()
>>> file = open("test.txt","rb")
>>> file.read()
b'\n\x00\x00\x00\x14\x00\x00\x00\x1e\x00\x00\x00(\x00\x00\x002\x00\x00\x00'

  1. পাইথনে অ্যারে পার্টিশন I

  2. পাইথনে অ্যারে ঘোরান

  3. পাইথনে প্রদত্ত নম্পি অ্যারের ডেটা টাইপ পরিবর্তন করুন

  4. পাইথন সংখ্যাসূচক প্রকার