⭐️ تکنیکهای پیشرفته و نکات ریز
1️⃣ چرخش درون کل یک فهرست
🔸 چرخش درجا یعنی جابهجایی عناصر بدون ساخت فهرست جدید.
✨ مثال چرخش کامل:
numbers = [1, 2, 3, 4]
numbers.reverse()
print(numbers) # Khoroji: [4, 3, 2, 1]
✨ مثال چرخش به تعداد خاص (2 خانه به چپ):
numbers = [1, 2, 3, 4]
k = 2
numbers[:] = numbers[k:] + numbers[:k]
print(numbers) # Khoroji: [3, 4, 1, 2]
—-—-—-—-—-—-—-—-—-—-—
2️⃣ نگاهی دقیقتر به حلقهی for
حلقههای for برای پیمایش فهرستها عالیان.
🔹 پیمایش مستقیم:
fruits = ["sib", "moz", "portoghal"]
for fruit in fruits:
print(f"Mive: {fruit}")
# Khoroji:
# Mive: sib
# Mive: moz
# Mive: portoghal
🔹 با ایندکس و enumerate:
for i, fruit in enumerate(fruits):
print(f"Index {i}: {fruit}")
—-—-—-—-—-—-—-—-—-—-—
3️⃣ انجام کارهای بیشتر بر روی فهرستها
با حلقهها میتونی کارهای پیچیدهتری مثل فیلتر کردن یا تبدیل انجام بدی.
✨ مثال فیلتر کردن:
numbers = [1, 2, 3, 4]
evens = [num for num in numbers if num % 2 == 0]
print(evens) # Khoroji: [2, 4]
—-—-—-—-—-—-—-—-—-—-—
4️⃣ انجام کارهایی پس از حلقهی for
بعد از حلقه، میتونی نتایج رو جمعبندی کنی.
✨ مثال جمع و میانگین:
numbers = [1, 2, 3, 4]
total = sum(numbers)
print(f"Jame: {total}, Miyangin: {total / len(numbers)}")
# Khoroji: Jame: 10, Miyangin: 2.5
—-—-—-—-—-—-—-—-—-—-—
5️⃣ پیشگیری از خطاهای تورفتگی
🔸 تورفتگی فراموششده:
numbers = [1, 2, 3]
for num in numbers:
print(num) # IndentationError
✨ درست:
for num in numbers:
print(num)
🔸 فراموشی تورفتگی خطوط اضافی:
for num in numbers:
print(num)
print("Payan") # Bayad kharej az halghe bashe
🔸 تورفتگی غیرضروری:
numbers = [1, 2, 3]
print(numbers) # IndentationError
🔸 تورفتگی غیرضروری پس از حلقه:
for num in numbers:
print(num)
print("Ghalat!") # In to halghe-st
🔸 فراموشی دو نقطه (:):
for num in numbers # SyntaxError
print(num)
—-—-—-—-—-—-—-—-—-—-—
6️⃣ ساخت فهرستهای عددی
🔹 استفاده از range():
numbers = list(range(1, 6)) # [1, 2, 3, 4, 5]
print(numbers)
🔹 ساخت فهرست با ()range:
even_numbers = list(range(2, 11, 2)) # [2, 4, 6, 8, 10]
print(even_numbers)
🔹 آمار ساده با فهرست اعداد:
numbers = [3, 1, 4, 2]
print(f"Koochik: {min(numbers)}") # Khoroji: Koochik: 1
print(f"Bozorg: {max(numbers)}") # Khoroji: Bozorg: 4
print(f"Jame: {sum(numbers)}") # Khoroji: Jame: 10
print(f"Miyangin: {sum(numbers) / len(numbers)}") # Khoroji: Miyangin: 2.5
🔹 خلاصه فهرست:
cubes = [x**3 for x in range(1, 5)] # [1, 8, 27, 64]
print(cubes)
—-—-—-—-—-—-—-—-—-—-—
7️⃣ کار با بخشی از فهرست (برشها)
🔸 برش زدن:
numbers = [1, 2, 3, 4, 5]
print(numbers[1:4]) # Khoroji: [2, 3, 4]
print(numbers[::2]) # Khoroji: [1, 3, 5]
print(numbers[::-1]) # Khoroji: [5, 4, 3, 2, 1]
🔸 حرکت درون برش:
slice = numbers[1:4]
for num in slice:
print(num) # 2, 3, 4
numbers[1:4] = [20, 30, 40]
print(numbers) # Khoroji: [1, 20, 30, 40, 5]
🔸 نسخهبرداری:
fruits = ["sib", "moz"]
fruits_copy = fruits[:]
fruits_copy[0] = "portoghal"
print(fruits) # Khoroji: ["sib", "moz"]
print(fruits_copy) # Khoroji: ["portoghal", "moz"]
💯 @PythonForYou 🧑💻👩💻