আমরা আগের পোস্টে দেখেছি কিভাবে লিস্ট ডিক্লেয়ার করা যায়, কিভাবে লিস্টের ভ্যালু গুলো এক্সেস করা যায় । আজ আমরা দেখব লিস্ট সম্পর্কিত আরো কিছু জিনিস । আমি এর আগে dir() ফাংশনের কথা উল্লেখ করেছিলাম । পাইথনে কোন নাম সম্পর্কে টেকনিক্যাল বিষয় (প্রোপার্টিজ, মেথডস ইত্যাদি) জানার জন্য আমরা এই ফাংশনটি ব্যবহার করি । আসুন ঝটপট একটি লিস্টের উপর এই ফাংশনটি প্রয়োগ করি :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\maSnun>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> list = [1,2,3] >>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delsli ce__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gets lice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', ' __le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__r educe_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__ ', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'p op', 'remove', 'reverse', 'sort'] >>> |
আমরা দেখতে পাচ্ছি একটি লিস্টের অনেকগুলো মেথড ও প্রোপার্টি রয়েছে । যেগুলোর আগে এবং পরে __ (ডাবল আন্ডারস্কোর) রয়েছে সেগুলো নিয়ে আমরা মাথা ঘামাব না । বাকিগুলোর মধ্যে আমরা দেখতে পাচ্ছি:
append()
count()
extend()
index()
insert()
pop()
remove()
reverse()
sort()
কোন লিস্টের শেষে আরেকটি আইটেম যোগ করতে আমরা append() ব্যবহার করি । যেমন:
1 2 3 4 5 6 7 8 9 10 11 12 |
Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\maSnun>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> l = [1,2] >>> l.append(3) >>> print l [1, 2, 3] >>> |
এখানে l একটি লিস্ট যেটার শেষে আমরা 3 যোগ করলাম । কোন লিস্টে একটি আইটেম কতবার আছে তা জানার জন্য আমরা count() ব্যবহার করি । যেমন:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
C:\Users\maSnun>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> l = [1,1,1,1,1,2,2,2,4,4,4,5,5,5,5,5,5,5,5,5,7,7,2,1,3] >>> l.count(1) 6 >>> l.count(7) 2 >>> l.count(3) 1 >>> l.count(5) 9 >>> l.count(4) 3 >>> l.count(2) 4 >>> |
তাহলে দেখলাম l লিস্টটিতে বিভিন্ন আইটেম কতবার আছে তা কিভাবে বের করা যায় । লক্ষ্য করূন অন্যান্য অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজে count বা length এই ধরনের ফাংশন, মেথড বা প্রোপার্টি দিয়ে লিস্টের আকার বা আইটেমের সংখ্যা নির্নয় করা হয় । পাইথনে count এর ব্যবহারটি কিছুটা ভিন্ন । আর পাইথনে একটি লিস্ট এর আইটেম সংখ্যা বের করতে আমরা len() ফাংশনটি ব্যবহার করি । যেমন:
1 2 |
lst = [1,1,1,2,2,2,2,4,4,4,4] print len(lst) |
এই কোড রান করে দেখুন আউটপুট কি দেখায় । একটি লিস্টের শেষে আরেকটি লিস্ট যোগ করতে আমরা extend() ব্যবহার করি । যেমন:
1 2 3 4 5 6 7 8 9 10 |
C:\Users\maSnun>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> lst1 = [1,2] >>> lst2 = [2,3] >>> lst1.extend(lst2) >>> lst1 [1, 2, 2, 3] >>> |
এখানে lst1 লিস্টটির শেষে lst2 যোগ করলাম । এর ফলে lst1 এর আইটেমগুলোর সাথে lst2 এর আইটেমগুলোও যুক্ত হয়ে গেল ।
এবার আসা যাক index() এ । কোন লিস্টে কোন আইটেম এর অবস্থান বা ইন্ডেক্স জানতে আমরা এটি ব্যবহার করি । লিস্টে যদি ঐ আইটেম একাধিকবার থাকে তাহলে প্রথম অবস্থানটি পাওয়া যাবে। যেমন:
1 2 3 4 5 6 7 8 |
C:\Users\maSnun>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> lst1 = [1,2,2,3] >>> lst1.index(2) 1 >>> |
এখানে 2 আইটেমটি দুবার এসেছে – 1 এবং 2 ইন্ডেক্সে । তাই প্রথম অবস্থানটি পেলাম আমরা ।
সময়ের স্বল্পতার কারণে আজ আর বাকি মেথডগুলো কাভার করব না । ইনশাআল্লাহ নেক্সট পোস্টে আবার শুরু করব ।
2 replies on “বাংলায় পাইথন – লিস্ট (দ্বিতীয় পর্ব)”
thanks to lot.
Thank you very much. Continue it please. It is a good initiative.