📌 مثال ترکیبی: fruits = ["sib", "moz", "sib", "portoghal"] fruits.remove("sib") # Hazf avalin "sib" -> ["moz", "sib", "portoghal"] last = fruits.pop() # Hazf va bargardandane "portoghal" -> ["moz", "sib"] del fruits[0] # Hazf "moz" -> ["sib"] fruits.clear() # Khali kardane list -> [] print(fruits) # Khoroji: [] ⬟〰️⬟〰️⬟〰️⬟〰️⬟ 🟠 نکات حرفه‌ای و ریز برای کار با این متدها 1️⃣ انتخاب ابزار مناسب: - اگه مقدار خاصی داری (مثل "sib")، از ()remove استفاده کن. - اگه به ایندکس دسترسی داری یا می‌خوای مقدار حذف‌شده رو داشته باشی، از ()pop استفاده کن. - اگه فقط می‌خوای فهرست رو خالی کنی، ()clear بهترینه. - اگه می‌خوای انعطاف‌پذیر باشی (حذف یه عنصر، برش، یا کل فهرست)، del عالیه. —-—-—-—-—-—-—-—-—-—-— 2️⃣ مدیریت ارورها با try-except: برای remove() و del همیشه احتمال ارور رو در نظر بگیر: fruits = ["sib", "moz"] try: fruits.remove("anar") except ValueError: print("Anar nist! 🚫") try: del fruits[10] except IndexError: print("Indeks na-mojood! 🚫") —-—-—-—-—-—-—-—-—-—-— 3️⃣ حذف چندگانه با شرط: - اگه می‌خوای چندتا عنصر رو بر اساس شرط حذف کنی، به جای حلقه با remove() یا del، از List Comprehension استفاده کن که ایمن‌تره: numbers = [1, 2, 3, 4, 5] numbers = [x for x in numbers if x % 2 != 0] # Hazf zojha print(numbers) # Khoroji: [1, 3, 5] —-—-—-—-—-—-—-—-—-—-— 4️⃣ عملکرد در فهرست‌های بزرگ: 🔸 remove(): برای فهرست‌های بزرگ کندتره، چون باید کل فهرست رو اسکن کنه. 🔸 pop(): برای حذف از آخر فهرست خیلی سریعه (O(1))، ولی برای ایندکس‌های وسط کندتره (O(n)). 🔸 clear(): سریع‌ترین برای خالی کردن فهرست. 🔸 del: برای حذف برش‌ها یا کل فهرست بهینه‌ست، ولی برای حذف تکی ممکنه از pop() کندتر باشه. —-—-—-—-—-—-—-—-—-—-— 5️⃣ حذف در فهرست‌های تودرتو: برای فهرست‌های تودرتو، del و pop() بهترن چون می‌تونی مستقیم به ایندکس دسترسی داشته باشی: matrix = [[1, 2, 3], [4, 5, 6]] del matrix[0][1] # Hazf 2 print(matrix) # Khoroji: [[1, 3], [4, 5, 6]] —-—-—-—-—-—-—-—-—-—-— 6️⃣ تفاوت حافظه: 🔸clear() فهرست رو خالی می‌کنه ولی متغیر می‌مونه. 🔸 del my_list کل متغیر رو از حافظه پاک می‌کنه، که برای آزادسازی حافظه تو برنامه‌های سنگین بهتره. big_list = [0] * 1000000 del big_list # Hافظه ro kamel azad mikone —-—-—-—-—-—-—-—-—-—-— 7️⃣ حذف ایمن در حلقه: حذف با remove() یا del تو حلقه روی فهرست ممکنه ایندکس‌ها رو به‌هم بریزه: fruits = ["sib", "moz", "sib"] for f in fruits: # Bad idea! fruits.remove(f) # IndexError ya natije ghalat ✅ راه درست: از حلقه معکوس یا List Comprehension استفاده کن: fruits = ["sib", "moz", "sib"] fruits = [f for f in fruits if f != "sib"] print(fruits) # Khoroji: ["moz"] 💯 @PythonForYou 🧑‍💻👩‍💻 👇 ادامه در پست بعد 👇