5️⃣ تکنیک‌های پیشرفته با حلقه‌ها ⭐️ 1. حلقه‌های تودرتو (Nested Loops) 💥 برای کار با داده‌های پیچیده (مثل ماتریس) از حلقه‌های تودرتو استفاده کن. - مثال: چاپ ماتریس: matrix = [[1, 2, 3], [4, 5, 6]] for row in matrix: for num in row: print(num, end=" ") print() # Line jadid # Khoroji: # 1 2 3 # 4 5 6 💡 نکته ریز: - حلقه‌های تودرتو برای داده‌های بزرگ می‌تونن کند باشن. از List Comprehension به جاش استفاده کن: flat = [num for row in matrix for num in row] print(flat) # Khoroji: [1, 2, 3, 4, 5, 6] —-—-—-—-—-—-—-—-—-—-— ⭐️ 2. استفاده از range() در حلقه‌ها 💥 استفاده از range(start, stop, step) برای ساخت دنباله‌های عددی عالیه. - مثال: for num in range(0, 10, 2): print(f"Zoj: {num}") # Khoroji: Zoj: 0, Zoj: 2, Zoj: 4, Zoj: 6, Zoj: 8 💡 نکته ریز: - برای فهرست‌های بزرگ، مستقیم از range() تو حلقه استفاده کن تا حافظه کمتری مصرف بشه: for i in range(1000000): if i == 5: break —-—-—-—-—-—-—-—-—-—-— ⭐️ 3. حلقه‌ها و List Comprehension 💥 برای کارهای ساده، List Comprehension جایگزین حلقه‌های for می‌شه. - مثال حلقه معمولی: numbers = [1, 2, 3, 4] squares = [] for num in numbers: squares.append(num**2) print(squares) # Khoroji: [1, 4, 9, 16] - با List Comprehension: squares = [num**2 for num in numbers] print(squares) # Khoroji: [1, 4, 9, 16] 💡 نکته ریز: - استفاده از List Comprehension سریع‌تر و خواناتر از حلقه معمولیه. - برای شرط‌های پیچیده هم کار می‌کنه: evens = [num for num in numbers if num % 2 == 0] print(evens) # Khoroji: [2, 4] —-—-—-—-—-—-—-—-—-—-— ⭐️ 4. حلقه‌ها و ژنراتورها 💥 برای صرفه‌جویی در حافظه، از ژنراتورها به جای فهرست استفاده کن. - مثال: for num in (x**2 for x in range(1000)): # Generator if num > 100: break print(num) 💡 نکته ریز: - ژنراتورها فقط مقادیر رو موقع نیاز تولید می‌کنن، پس برای داده‌های بزرگ عالی‌ان. 💯 @PythonForYou 🧑‍💻👩‍💻