در این آموزش، به بررسی دو عملگر یا اپراتور in و not in در پایتون (python) میپردازیم! که عملگرهای عضویت هستند و عضویت یا عدم عضویت در یک مجموعه (مثلاً یک لیست) رو چک میکنن!
عملگرهای عضویت، عملگرهایی هستند که که اینو چک میکنن که فلان چیز عضو بهمان چیز هست یا نه!!! (مثلاً فرض کنید یه لیست تعریف کردیم شامل اعداد فرد 1 تا 10 ! و بعد حالا میخوایم ببینیم که عدد 5 جزوه اینا هست یا نه!؟! در این صورت از عملگرهای عضویت استفاده میکنیم!)
خب بریم تا دونه دونه با دو عملگر (یا اپراتور) in و not in آشنا بشیم!
لیست زیر رو در نظر بگیرید!
a=[2,2,5,5,5,7,8,8,8,14,14]
فرض کنید میخوایم ببینیم که آیا عدد 5 جزء این لیست هست یا نه؟!و فرض کنید میخوایم اگر عدد 5 توی لیست بالا بود، بگه Yes و در غیراینصورت بگه NO ! پس داریم:!
a=[2,2,5,5,5,7,8,8,8,14,14] if 5 in a: print("Yes") else: print("No")
در خط اول که همون لیست خودمون رو وارد کردیم و اسم لیست رو گذاشتیم a !
در خط دوم میگیم اگر 5 در a وجود دارد!
[خط 3]: چاپ کن Yes !
[خط 4]: در غیر اینصورت …
[خط 5]: چاپ کن No !
و واضحه که باید بگه Yes و اگر اجرا کنیم این کد رو واقعاً هم میگه Yes بنده خدا!
حالا اینبار لیست زیر رو رو در نظر بگیرید! لیست زیر قبول شدگان یک آزمون است!
a=["Iman","Mohammad","Reza","Milad","Farshad"]
حالا میخوایم بگیم اگر اسم Sajjad توی این لیست نبود، یعنی سجّاد درس رو افتاده! پس میگیم!
a=["Iman","Mohammad","Reza","Milad","Farshad"] if "Sajjad" not in a: print("Failed") else: print("Passed")
[خط 1]: لیست اسامی قبول شدگان رو تعریف کردیم!
[خط 2]: اگر Sajjad در a نبود…
[خط 3]: چاپ کن: افتادی درس رو دلاور!
[خط 4]: در غیر اینصورت…
[خط 5]: چاپ کن: پاس شدی درس رو!
برای فهم این بخش نیاز است تا طبق دوره مقدماتی آموزش پایتون خودمون پیشنیازها رو طی کرده باشید! البته ما دوباره سعی میکنیم تا یه حدی توضیح بدیم!
خب! لیست زیر رو در نظر بگیرید!
a=[2,2,3,5,5,5,7,7,8,14]
میبینید که یک سری اعضا اَلَکی هِی تکرار شدن! میخوایم یه برنامهای بنویسیم که اعضای این لیست رو فارغ از تکرارشووون به ما نشون بده!
یعنی تهش بگه!:
[2,3,5,7,8,14]
برای این منظور قطعه کد زیر رو در نظر بگیرید تا توضیح بدم!
a=[2,2,3,5,5,5,7,7,8,14] b=[] for j in a: if j not in b: b.append(j) print(b)
در خط 1 که لیست رو با نام a تعریف کردیم!
در خط 2 یک لیست خالی درست کردیم به اسم b ! (البته قرار نیست خالی بمونه و هِی بهش چیزی اضافه خواهیم کرد در ادامه!)
[خط 3]: برای هر j در a
خب اینو توضیج بدم! هرچند مربوط به آموزش for از همون دوره مقدماتی پایتون خودمون است!
میگیم برای هر j در a! (اولاً j فقط یه اسمه و میتونستیم هر چیزی، مثلاً Sajjad و koolac و … هم بذاریم!)
و اینکه منظورمون از بیان این عبارت اینه که بگیم: برای هر مولفه در a! (و عملاً اون j نمادی از یک مولفه که در a است، میباشد!)
[خط 4]: اگر اون مولفه (یعنی j) در b نبود!
[خط 5]: بیا به b اضافش کن! (append یعنی اضافه کردن!)
[خط 6]: تهش هم میایم لیست b رو پرینت میکنیم!
اگر دوست دارید و هنوز مثال رو نفهمیدید، در این بخش همراه ما باشید تا با هم به صورت تکرار به تکرار، کد بالا رو تفسیر کنیم!
اول کار b خالی است!
وقتی میریم توی حلقه for، دفعه اول میگه اگر 2 توی b نیست! (2 اولین مولفه لیست a است! و b هم که الان خالیه و کسی توووش نیست!) پس شرط درسته! و میاد 2 رو به b اضافه میکنه!
پس الان b شده: [2]
حالا در تکرار بعدی، میریم سراغ مولفه بعدی a! (یعنی بازهم 2!)
میگه اگر 2 در b نیست! (که خب شرط درست نیست دیگه! چون b اون b سابق نیست! الان واسه خودش یه 2 توووی خودش داره!) پس چون شرط درست نیست اصلاً هیچی! بریم تکرار بعد!
حالا میریم سراغ مولفه سوم a (یعنی 3)!
میگه اگر 3 در b نیست! (که شرط درسته و واقعاً b عدد 3 توووش نیست!) بیا اضافش کن!
ماهم اطاعت میکنیم و با این اوصاف! b تبدیل میشه به: [2,3]
و اما مولفه بعدی a که 5 است!
میگه اگر 5 در b نیست! (که شرط درسته و واقعاً در b هنوز وجود نداره!) به b اضافش کن! و ما هم همینکار رو میکنیم! و b تبدیل میشه به [2,3,5]!
خلاصه با همین منطق و به همین منوال اون لیست نهایی شکل میگیره! پس خودتون میتونید با همین منطقی که توضیح دادم، سایر تکرارها رو تحلیل کنید!
امیدوارم مفید بوده باشه، خوشحال میشم انتقادهاتون و پیشنهادهاتون رو برای ما بفرستید! و اگر سوالی درباره این مبحث داشتید هم در بخش نظرات میتونید بپرسید!
تعداد دیدگاه | 8 |
تعداد بازدید | 7.2K |
تاریخ انتشار | 06/07/2019 |
تاریخ بروزرسانی | 06/07/2019 |
نویسنده | گروه آموزشی کولاک |