eitaa logo
آموزش پایتون
63 دنبال‌کننده
244 عکس
106 ویدیو
52 فایل
ارتباط: https://eitaa.com/joinchat/956171922Cb501d5a32f لینک همین کانال: @LearnPythonIcy لینک کانال تلگرام: https://t.me/learnpythonicy
مشاهده در ایتا
دانلود
✔️ پیدا کردن حروف منحصر به فرد در یک رشته برای پیدا کردن حروف منحصر به فرد (حذف کاراکترهای تکراری از متن) در یک رشته، معمولاً از حلقه‌ها و ساختارهای شرطی استفاده می‌کنیم: unique_chars = [] for char in my_string: if char not in unique_chars: unique_chars.append(char) اما پایتون یک روش حرفه‌ای و بهینه‌تر ارائه می‌دهد: unique_chars = list(set(my_string)) 👀 چرا این روش کار می‌کند؟ - تابع set() به طور خودکار تمام عناصر تکراری را حذف می‌کند. - با تبدیل نتیجه به لیست، خروجی مورد نظر ما را می‌دهد. نکته: اگر ترتیب حروف مهم است، می‌توانید از dict استفاده کنید: unique_ordered = list(dict.fromkeys(my_string)) این روش: 1. سریع‌تر و خوانا تر است 2. برای رشته‌های طولانی کارایی بهتری دارد 3. کد را حرفه‌ای‌تر نشان می‌دهد | | @LearnPythonIcy
✔️ 10 Python Dictionary Tricks You Should Know! 🐍✨ 1️⃣ ساخت دیکشنری با مقدار پیش‌فرض from collections import defaultdict d = defaultdict(int) 2️⃣ ادغام دو دیکشنری (Python 3.9+) merged = dict1 | dict2 3️⃣ برعکس کردن key و value reversed_dict = {v: k for k, v in my_dict.items()} 4️⃣ گرفتن مقدار با مقدار پیش‌فرض امن value = my_dict.get("key", 0) 5️⃣ مرتب‌سازی دیکشنری بر اساس value sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[1])) 6️⃣ حذف آیتم و گرفتن مقدار همزمان value = my_dict.pop("key") 7️⃣ ساخت دیکشنری از دو لیست result = dict(zip(keys, values)) 8️⃣ بررسی وجود چند key به‌صورت همزمان if {"a", "b"} <= my_dict.keys(): print("Exists") 9️⃣ دیکشنری کامپرهنشن squares = {x: x**2 for x in range(5)} 🔟 شمارش تکرار آیتم‌ها from collections import Counter count = Counter(["a", "b", "a", "c"]) > ⚠️ دیکشنری‌ها خیلی قدرتمندن؛ ولی خوانایی کد رو فدای کوتاه‌نویسی نکن! | | @LearnPythonicy کدومش بیشتر به کارت خورد؟ https://daigo.ir/secret/62000079358
✔️ 10 Python Set Tricks You Should Know! 🐍✨ 1️⃣ ساخت Set یکتا از لیست unique_items = set([1, 2, 2, 3, 4]) 2️⃣ افزودن آیتم my_set.add(5) 3️⃣ حذف آیتم بدون خطا my_set.discard(10) # Error نمی‌دهد 4️⃣ اجتماع دو مجموعه (Union) result = set1 | set2 5️⃣ اشتراک دو مجموعه (Intersection) common = set1 & set2 6️⃣ تفاضل مجموعه‌ها (Difference) diff = set1 - set2 7️⃣ بررسی زیرمجموعه بودن if set1 <= set2: print("Subset") 8️⃣ حذف آیتم تصادفی item = my_set.pop() 9️⃣ ساخت Set Comprehension squares = {x**2 for x in range(5)} 🔟 حذف آیتم‌های تکراری از رشته unique_chars = set("programming") > ⚠️ ست ها(set) فوق‌العاده سریع هستند (O(1) average lookup)، اما ترتیب را حفظ نمی‌کنند! | | | @LearnPythonicy 👇 بیشتر از کدوم عملیات Set در پروژه‌هات استفاده می‌کنی؟
✔️ 10 Python Async & Concurrency Tricks You Should Know! ⚡🐍 1️⃣ اجرای تابع async import asyncio async def main(): print("Hello Async") asyncio.run(main()) 2️⃣ اجرای همزمان چند Task async def task(n): await asyncio.sleep(1) return n results = await asyncio.gather(task(1), task(2)) 3️⃣ ایجاد Task در پس‌زمینه task = asyncio.create_task(task(3)) 4️⃣ محدود کردن همزمانی با Semaphore sem = asyncio.Semaphore(3) async with sem: await some_io() 5️⃣ Timeout برای جلوگیری از Hang await asyncio.wait_for(task(1), timeout=2) 6️⃣ اجرای کد Blocking داخل Async loop = asyncio.get_running_loop() result = await loop.run_in_executor(None, blocking_func) 7️⃣ استفاده از ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor 8️⃣ استفاده از ProcessPool برای CPU-Bound from concurrent.futures import ProcessPoolExecutor 9️⃣ مدیریت Race Condition با Lock lock = asyncio.Lock() async with lock: shared_resource += 1 🔟 Async HTTP Requests با aiohttp import aiohttp async with aiohttp.ClientSession() as session: async with session.get("https://api.example.com") as resp: data = await resp.json() > ⚠️ نکته: Async برای I/O-Bound فوق‌العاده است، اما برای CPU-Bound از multiprocessing استفاده کن. 👇 تو پروژه‌هات بیشتر با I/O-Bound سروکار داری یا CPU-Bound؟