🟣 نکات ریز و ترفندهای حرفه‌ای ⭐️ 1. بررسی وجود عنصر با in: برای چک کردن اینکه یه مقدار تو فهرست هست یا نه، از in استفاده کن. fruits = ["sib", "moz", "portoghal"] if "moz" in fruits: print("Moz darim! 🍌") 💡 نکته ریز: - دقت کن in برای فهرست‌های بزرگ ممکنه کند باشه. اگه نیاز به سرعت داری، از set به جای list استفاده کن. ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 2. کپی کردن فهرست: اگه مستقیم یه فهرست رو به متغیر جدید بدی، کپی نمی‌شه، بلکه فقط ارجاع می‌کنه! original = [1, 2, 3] bad_copy = original bad_copy[0] = 99 # original ham taghir mikone! [99, 2, 3] ✅ راه درست: از ()copy یا برش کامل [:] استفاده کن: original = [1, 2, 3] good_copy = original.copy() # ya: original[:] good_copy[0] = 99 # original: [1, 2, 3], good_copy: [99, 2, 3] 💡 نکته ریز: - اگه فهرستت شامل فهرست‌های دیگه‌ست (فهرست تودرتو)، از deepcopy تو ماژول copy استفاده کن: from copy import deepcopy nested = [[1, 2], [3, 4]] deep_copy = deepcopy(nested) ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 3. مرتب‌سازی فهرست: 🔸 sort(): فهرست رو به‌صورت مستقیم مرتب می‌کنه (تغییر درجا). 🔸 sorted(): یه فهرست جدید مرتب‌شده برمی‌گردونه. numbers = [3, 1, 4, 2] numbers.sort() # numbers: [1, 2, 3, 4] sorted_numbers = sorted([3, 1, 4, 2]) # sorted_numbers: [1, 2, 3, 4] 💡 نکته ریز: - برای مرتب‌سازی برعکس، از reverse=True استفاده کن: numbers.sort(reverse=True) # [4, 3, 2, 1] - برای مرتب‌سازی فهرست رشته‌ها یا اشیاء پیچیده، از پارامتر key استفاده کن: names = ["Ali", "zahra", "Babak"] names.sort(key=str.lower) # ["Ali", "Babak", "zahra"] ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 4. فهرست‌های تودرتو (Nested Lists): فهرست‌ها می‌تونن شامل فهرست‌های دیگه باشن، مثل ماتریس. matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix[1][2]) # Khoroji: 6 💡 نکته ریز: - برای دسترسی به عناصر تودرتو، مراقب ایندکس‌ها باش تا IndexError نگیری. - برای حلقه زدن تو فهرست تودرتو: for row in matrix: for item crusade print(item, end=" ") # 1 2 3 4 5 6 7 8 9 ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 5. ترکیب فشرده (List Comprehension): به جای حلقه‌های طولانی، از List Comprehension برای کد کوتاه و سریع استفاده کن. numbers = [1, 2, 3, 4] squares = [x**2 for x in numbers] # [1, 4, 9, 16] 💡 نکته ریز: - می‌تونی شرط هم اضافه کنی: even_squares = [x**2 for x in numbers if x % 2 == 0] # [4, 16] ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 6. بررسی خالی بودن فهرست: برای چک کردن خالی بودن، از if not list استفاده کن. my_list = [] if not my_list: print("List khalie! 📭") 💡 نکته ریز: - این روش برای هر شیء خالی‌شدنی (مثل رشته یا دیکشنری) هم کار می‌کنه. ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 7. شمارش و تعداد با count و len: 🔹 len: تعداد عناصر فهرست. 🔹 count: تعداد دفعات یه مقدار خاص. fruits = ["sib", "moz", "sib"] print(len(fruits)) # Khoroji: 3 print(fruits.count("sib")) # Khoroji: 2 ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 8. معکوس کردن فهرست: از ()reverse یا برش [1-::] برای معکوس کردن استفاده کن. numbers = [1, 2, 3] numbers.reverse() # [3, 2, 1] # ya numbers = numbers[::-1] ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 9. ترکیب فهرست‌ها با + یا extend: دو فهرست رو می‌تونی باهم ترکیب کنی: list1 = [1, 2] list2 = [3, 4] combined = list1 + list2 # [1, 2, 3, 4] # ya list1.extend(list2) 💡 نکته ریز: - دقت کن که + یه فهرست جدید می‌سازه، ولی extend فهرست اول رو تغییر می‌ده (بهینه‌تر برای فهرست‌های بزرگ). ⬟〰️⬟〰️⬟〰️⬟〰️⬟ ⭐️ 10. مدیریت خطا با try-except: موقع کار با ایندکس‌ها، ممکنه ارور بگیری. از try-except استفاده کن: try: print(fruits[10]) except IndexError: print("Indeks na-mojood! 🚫") 💯 @PythonForYou 🧑‍💻👩‍💻