📢 مقایسه کامل متدهای حذف در فهرست‌ها (remove, pop, clear, del) 🐍 تو این پست قراره چهار ابزار قدرتمند برای حذف عناصر از فهرست‌ها در پایتون رو زیر ذره‌بین ببریم: remove(), pop(), clear()، و del. 😎 می‌خوایم کاربردهاشون، تفاوت‌هاشون، و نکات ریز حرفه‌ای رو با مثال‌های کاربردی بررسی کنیم. آماده‌اید؟ بریم شروع کنیم! 🚀 ⬟〰️⬟〰️⬟〰️⬟〰️⬟ 1️⃣ متد ()remove: حذف اولین نمونه از یه مقدار ♦️ کاربرد: وقتی می‌خوای یه مقدار خاص (نه ایندکس) رو از فهرست حذف کنی، ()remove اولین نمونه از اون مقدار رو پیدا و حذف می‌کنه. 📝 سینتکس: my_list.remove(value) # Hazf avalin namone az value ✨ مثال: fruits = ["sib", "moz", "sib", "portoghal"] fruits.remove("sib") # Hazf avalin "sib" print(fruits) # Khoroji: ["moz", "sib", "portoghal"] 💡 نکات ریز: - اگه مقدار تو فهرست نباشه، ارور ValueError می‌گیره. برای جلوگیری: if "anar" in fruits: fruits.remove("anar") else: print("Anar nist! 🚫") - فقط اولین نمونه رو حذف می‌کنه. اگه بخوای همه نمونه‌ها رو حذف کنی، باید حلقه بزنی: while "sib" in fruits: fruits.remove("sib") - برای فهرست‌های بزرگ، ()remove ممکنه کند باشه چون باید کل فهرست رو اسکن کنه. - فقط با مقدار کار می‌کنه، نه ایندکس. ⬟〰️⬟〰️⬟〰️⬟〰️⬟ 2️⃣ متد ()pop: حذف و برگردوندن عنصر با ایندکس ♦️ کاربرد: یه عنصر رو با ایندکسش حذف می‌کنه و مقدار حذف‌شده رو برمی‌گردونه. اگه ایندکس ندی، آخرین عنصر رو حذف می‌کنه. 📝 سینتکس: my_list.pop(index) # Hazf onsor ba index (pishfarz: akharin onsor) ✨ مثال: fruits = ["sib", "moz", "portoghal"] last_fruit = fruits.pop() # Hazf akharin onsor print(last_fruit) # Khoroji: portoghal print(fruits) # Khoroji: ["sib", "moz"] # Ya ba index second_fruit = fruits.pop(1) # Hazf "moz" print(second_fruit) # Khoroji: moz print(fruits) # Khoroji: ["sib"] 💡 نکات ریز: - اگه ایندکس اشتباه بدی (مثلاً pop(10) تو فهرست 3 تایی)، ارور IndexError می‌گیره. - چون مقدار حذف‌شده رو برمی‌گردونه، برای کارهایی مثل پشته (stack) عالیه: stack = [1, 2, 3] top = stack.pop() # 3 ro migire va hazf mikone - اگه فهرست خالی باشه و pop() بزنی، IndexError می‌گیره. - سریع‌تر از remove() برای حذف با ایندکس، چون مستقیم به ایندکس دسترسی داره. ⬟〰️⬟〰️⬟〰️⬟〰️⬟ 3️⃣ متد ()clear: خالی کردن کل فهرست ♦️ کاربرد: همه عناصر فهرست رو حذف می‌کنه، ولی خود متغیر فهرست می‌مونه (خالی). 📝 سینتکس: my_list.clear() # Hazf hame onsorha ✨ مثال: fruits = ["sib", "moz", "portoghal"] fruits.clear() print(fruits) # Khoroji: [] 💡 نکات ریز: - برعکس del my_list، متغیر فهرست همچنان وجود داره، فقط خالیه. - برای وقتی مناسبه که می‌خوای فهرست رو نگه داری و بعداً دوباره پر کنی. - خیلی سریع و بهینه‌ست، چون نیازی به بررسی ایندکس یا مقدار نداره. - هیچ مقداری برنمی‌گردونه. ⬟〰️⬟〰️⬟〰️⬟〰️⬟ 4️⃣ دستور del: حذف انعطاف‌پذیر ♦️ کاربرد: یه دستور کلی پایتونه که می‌تونه یه عنصر، یه بازه (slice)، یا کل فهرست رو حذف کنه. 📝 سینتکس: del my_list[index] # Hazf yek onsor del my_list[start:end] # Hazf yek baze del my_list # Hazf tamame list ✨ مثال: fruits = ["sib", "moz", "portoghal", "anar"] del fruits[1] # Hazf "moz" print(fruits) # Khoroji: ["sib", "portoghal", "anar"] del fruits[0:2] # Hazf az index 0 ta 1 print(fruits) # Khoroji: ["anar"] del fruits # Hazf kole list # print(fruits) # Error: 'fruits' is not defined 💡 نکات ریز: - اگه ایندکس یا برش اشتباه بدی، ارور IndexError می‌گیره. - برعکس ()pop، مقدار حذف‌شده رو برنمی‌گردونه. - می‌تونه روی اشیاء دیگه (مثل دیکشنری یا متغیر) هم کار کنه: my_dict = {"name": "ali"} del my_dict["name"] - برای حذف کل فهرست، حافظه رو کامل آزاد می‌کنه (برعکس ()clear که فقط خالی می‌کنه). - تو حلقه‌ها با احتیاط استفاده کن، چون حذف با del ممکنه ایندکس‌ها رو به‌هم بریزه: numbers = [1, 2, 3, 4] for i in range(len(numbers)): del numbers[i] # Bad idea! IndexError 💯 @PythonForYou 🧑‍💻👩‍💻 👇 ادامه در پست بعد 👇