🟣 نکات ریز و ترفندهای حرفهای
⭐️ 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 🧑💻👩💻