List : পাইথনে লিস্ট হল সাধারণ যেকোন লিষ্ট এর মতই । তবে সাধারণ লিষ্ট এর সাথে এর গণনার কিছু পার্থক্য আাছে । আসুন আমরা একটি ছোট উদাহরণ এর মাধ্যমে এর ব্যবহার জেনে নিই ।
1
2
3
4
5
| select_month = int ( input ( "What month (1-12)? " )) months = [ 'January' , 'February' , 'March' , 'April' , 'May' , 'June' , 'July' , 'August' , 'September' , 'October' , 'November' , 'December' ] if 1 < = select_month < = 12 : print ( "The month is" ,months[select_month - 1 ]) |
দেখুন , এখানে আামরা বারো মাসের নাম নিয়ে একটি লিস্ট তৈরী করেছি । লিস্ট লেখার নিয়মগুলি ভাল ভাবে উদাহরণ থেকে দেখে নিন । এখন দেখুন সাধারণ যেকোন লিস্ট এর সাথে এর বেসিক পার্থক্য হল পাইথনের লিস্ট এর প্রথম যে উপাদান টি থাকে তার অবস্থান ধরা হয় ০ । ফলে এখানে 'January', এর অবস্থান ধরা হবে ০ । এবার বলা হয়েছে যে যদি select_month এর ইনপুট ১ অপেক্ষা বড় হয় এবং ১২ অপেক্ষা ছোট হয় তবে select_month থেকে ১ বিয়োগ করে months এর সংখ্যা প্রিন্ট করতে । অর্থাত যদি মাসের ইনপুট হয় ৫ তবে মাসের সংখ্যা হবে ৪ , কারণ প্রথম মাসের মান ০ । আবার সংখ্যা লিস্টের মধ্যে থাকলে তার জন্যে "" চিহ্ন দেওয়ার দরকার নেই । এবার আসুন আমরা লিষ্টের আরও কিছু ব্যবহার জেনে নিই । নিচের কোডগুলি লিখুন :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| demolist = [ "life" , 42 , "the universe" , 6 , "and" , 9 ] print ( "demolist = " ,demolist) demolist.append( "everything" ) print ( "after 'everything' was appended demolist is now:" ) print (demolist) print ( "len(demolist) =" , len (demolist)) print ( "demolist.index(42) =" ,demolist.index( 42 )) print ( "demolist[1] =" ,demolist[ 1 ]) print ( "demolist is now: " ,demolist) del demolist[ 2 ] print ( "After 'the universe' was removed demolist is now:" ) print (demolist) if "life" in demolist: print ( "'life' was found in demolist" ) else : print ( "'life' was not found in demolist" ) if "techtunes" in demolist: print ( "'techtunes' was found in demolist" ) if "techtunes" not in demolist: print ( "'techtunes' was not found in demolist" ) |
দেখুন এখানে প্রথমে আমরা একটি লিস্ট তৈরী করেছি । তার পর বিভিন্ন ভাবে সেটি এডিট করেছি । আসুন আমরা জেনে নিই কোন কোডটির কী অর্থ :
print("demolist = ",demolist) : লিস্টটি প্রিন্ট করার জন্য ব্যবহৃত হয়েছে ।
.append : লিস্ট এ কোন কিছু যোগ করার জন্য append কোডটি ব্যবহৃত হয় । যেমন demolist.append("techtunes") লিখলে techtunes লেখাটি লিস্ট এর মধ্যে যুক্ত হবে ।
len(demolist) : লিস্টে কতগুলি সদস্য আছে তা নির্ণয় করার জন্য বা লিষ্টের দৈঘৃ মাপার জন্য len কোডটি ব্যবহৃত হয় ।
.index : লিষ্টের কোন সদস্য টি কত নম্বর অবস্থানে আছে তা নির্ণয়ের জন্য এটি ব্যবহৃত হয় । যেমন : demolist.index(42) লেখাটি লিষ্টে ৪২ এর অবস্থান বলে দেবে ।
del : লিস্টটি থেকে কোন উপাদান মুছে ফেলার জন্য এই কোডটি ব্যবহৃত হয় । যেমন : del demolist[2] দিলে এটি লিস্টের ২ নম্বর আইটেম টিকে মুছে ফেলবে । এরপরের গুলি আশা করি আপনারা বুঝতে পরবেন । আগের পর্বে এসব সম্পর্কে আলোচনা করেছিলাম । এবার আসুন একটা বড় প্রোগ্রাম নিয়ে একটু নাড়াচাড়া করি আমরা লিস্টের মাধ্যমে একটু ব্যবহার কারীর সাথে যোগাযোগ করি ।
নিচের কোডটি সবাই লিখুন :
নিচের কোডটি সবাই লিখুন :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| menu_item = 0 namelist = [] while menu_item ! = 9 : print ( "--------------------" ) print ( "1. Print the list" ) print ( "2. Add a name to the list" ) print ( "3. Remove a name from the list" ) print ( "4. Change an item in the list" ) print ( "9. Quit" ) menu_item = int ( input ( "Pick an item from the menu: " )) if menu_item = = 1 : current = 0 if len (namelist) > 0 : while current < len (namelist): print (current, "." ,namelist[current]) current = current + 1 else : print ( "List is empty" ) elif menu_item = = 2 : name = input ( "Type in a name to add: " ) namelist.append(name) elif menu_item = = 3 : del_name = input ( "What name would you like to remove: " ) if del_name in namelist: item_number = namelist.index(del_name) del namelist[item_number] else : print (del_name, "was not found" ) elif menu_item = = 4 : old_name = input ( "What name would you like to change: " ) if old_name in namelist: item_number = namelist.index(old_name) new_name = input ( "What is the new name: " ) namelist[item_number] = new_name else : print (old_name, "was not found" ) print ( "Goodbye" ) |
এখন দেখুন প্রথমে আমরা menu_item নামে একটি ভ্যরিয়েবল নিয়েছি ও namelist =[] দ্বারা একটি খালি লিস্ট নিয়েছি । এরপর বলেছি যে যতক্ষণ না পর্যন্ত menu_item এর ইনপুট ৯ না হয় ততক্ষণ নিচের লেখাগুলি প্রিন্ট করতে ও menu_item এর মান ইনপুট নিতে । এরপর আমরা একেকটি মেনু আইটেমের জন্য একেক রকম কাজ নির্ধারণ করে দিয়েছি । বলেছি যে মেনু আইটেমের মান ১ হলে বর্তমানে লিস্টে কিছুই থাকে না । তাই current বা বর্তমানে লিস্টে আইটেমের সংখ্যা ০ । এবার বলেছি যদি namelist এর দৈর্ঘ ০ থেকে বড় হয় তবে যতক্ষণ বর্তমান সংখ্যা namelist এর দৈর্ঘের থেকে ছোট হয় ততক্ষণ current এর সংখ্যা ও namelist প্রিন্ট করে যেতে । বর্তমান সংখ্যা len(namelist) এর থেকে ছোট হবে কারণ ওই ০ থেকে লিস্ট গণনার কারণে । কোডটি লিখে রান করালে আপনারা বিষয়টি আরও ভালভাবে বুঝতে পারবেন । তারপর current এর সাথে ১ যোগ করে যাও । আর তা না হয়ে যদি namelist খালি হয় তবে List is empty লেখাটি প্রিন্ট করো । এরপর যদি মেনু আইটেম এর ইনপুট হয় ২ তাহলে যে সংখ্যাটি লিস্টে যোগ করতে হবে name ভ্যরিয়েবল দ্বারা তার ইনপুট নাও ও লিস্টে append কোডটি দ্বারা যোগ কর । তারপর আমরা মেনু আইটেম ৩ এর জন্য নির্ধারণ করেছি লিস্ট থেকে আইটেম বাদ দেওয়া । এখন মেনু আইটেম ৩ হলে del_name নামক ভ্যরিয়েবল দ্বারা যে নামটি লিস্ট থেকে ডিলিট করতে হবে তার ইনপুট নাও । যদি নামটি লিস্টের মধ্যে থাকে তবে নামটি লিস্টের কোন আইটেম নাম্বারের সাথে মেলছে তা item_number =namelist.index(del_name) কোডটি দ্বারা item_number ভ্যরিয়েবলের মাধ্যমে খুজে বের কর । তারপর del কোডটি দ্বারা নামটি ডিলিট করো । আর নামটি লিস্টে না থাকলে প্রিন্ট করো del_name was not found । এবার আসি নাম চেন্জ করার ক্ষেত্রে । মেনু আইটেম এর ইনপুট ৪ হলে old_name নামক ভ্যরিয়েবল দ্বারা যে পুরান নামটি চেন্জ করতে হবে তার ইনপুট নাও । এখন ইনপুট দেওয়া নাম যদি নেমলিস্টে থাকে তবে লিস্টের কোন আইটেম নাম্বারের সাথে এটি মিলে তা দেখো । আর যদি মেলে তবে new_name নামক ভ্যরিয়েবল দ্বারা যে নতুন নামটি পুরান নামটিকে প্রতিস্থাপন করবে তার ইনপুট নাও । এরপর namelist[item_number] =new_name কোডের মাধ্যমে নামটি চেন্জ করো । আর ইনপুট কৃত নামটি লিস্টে না থাকলে old_name, "was not found" লেখাটি প্রিন্ট করো ।
আর মেনু আইটেম এর ইনপুট যদি ৯ হয় তবে Goodbye লেখাটি প্রিন্ট করো ।
আর মেনু আইটেম এর ইনপুট যদি ৯ হয় তবে Goodbye লেখাটি প্রিন্ট করো ।