Creating A Dictionary Using Lists In Python
راههای مختلف برای ساخت دیکشنری با استفاده از لیست
میتوان گفت که دیکشنریها یکی از مهمترین ساختارهای دادهای در پایتون هستند که به ذخیرهسازی و دسترسی سریع به اطلاعات کمک میکنند.
#dict | #list | #بدانیم | LearnPython
چگونه یک دیکشنری را در پایتون به سرعت وارونه کنیم؟ (جابجایی کلیدها و مقادیر) 🔄
✨ روش سریع با Dictionary Comprehension
⚠️ نکته مهم:
- این روش فقط زمانی کار میکند که مقادیر دیکشنری منحصربهفرد باشند (در غیر این صورت، مقادیر تکراری بازنویسی میشوند!).
- اگر مقادیر تکراری دارید، از روش های دیگر مانند
🎯 روش
#dict | @learnpythonicy | #بدانیم
✨ روش سریع با Dictionary Comprehension
original_dict = {"a": 1, "b": 2, "c": 3}
# وارونه کردن دیکشنری (مقادیر → کلید، کلیدها → مقدار)
reversed_dict = {value: key for key, value in original_dict.items()}
print(reversed_dict) # {1: 'a', 2: 'b', 3: 'c'}⚠️ نکته مهم:
- این روش فقط زمانی کار میکند که مقادیر دیکشنری منحصربهفرد باشند (در غیر این صورت، مقادیر تکراری بازنویسی میشوند!).
- اگر مقادیر تکراری دارید، از روش های دیگر مانند
defaultdict استفاده کنید. 🎯 روش
defaultdict (مناسب برای مقادیر تکراری): from collections import defaultdict
original_dict = {"a": 1, "b": 2, "c": 2, "d": 3}
reversed_dict = defaultdict(list)
for key, value in original_dict.items():
reversed_dict[value].append(key) # ذخیره لیستی از کلیدها برای مقادیر تکراری
print(dict(reversed_dict)) # {1: ['a'], 2: ['b', 'c'], 3: ['d']}
#dict | @learnpythonicy | #بدانیم
👍2
🔍 راهنمای #هشتگها برای دسترسی سریعتر به مطالب کانال
برای اینکه راحتتر به مطالب دلخواهتون برسید، از هشتگهای زیر استفاده کنید:
---
### 😂 #طنز
مطالب فان و خندهدار برای فاصله گرفتن از دنیای کدنویسی.
### 🧪 #تست_تایم
تستها و تمرینهایی که باید برای تقویت مهارتهای برنامهنویسی بزنید.
### 📘 #بدانیم
نکات مهم و کاربردی دربارهی برنامهنویسی و پایتون.
### 📚 #بخوانیم
دانستنیها و مقالاتی که پیشنهاد میکنم حتما مطالعه کنید.
### 📖 #معرفی_کتاب / #بوک_تایم
کتابهای پیشنهادی برای یادگیری اصولیتر.
### 🔥 #موتیو_تایم
پستهای انگیزشی و انرژیبخش برای ادامهی مسیر یادگیری.
### 📚 #کتابخانه
کتابخانههایی که در کانال معرفی شدهاند.
### 📃 #برگه_تقلب و #Cheat_Sheet
خلاصه و نکات کلیدی
---
### 🎮 #game
بازی های ساخته شده با پایتون
### 🛣 #roadmap
نقشهراه یادگیری پایتون و مهارتهای لازم.
### 🧩 #project_time
پروژههای تمرینی برای افزایش تجربه و تسلط.
### 📄 #paper
مقالات علمی و تخصصی معرفیشده.
---
### ⚡️ #PythonTricks
میانبرها و ترفندهای کاربردی پایتون.
### ✨ #Pythonmagic
رفتارهای خاص و جالب پایتون که کمتر کسی میداند.
### 🧰 #functools
ابزارها و تکنیکهای مرتبط با توابع.
### 🧱 #codeBites
خلاصهی یک دستور همراه با نمونهکد کوتاه.
### ❗️ #error
خطاهای رایج پایتون و روش رفع آنها.
### 📰 #news
اخبار روز پایتون و دنیای تکنولوژی.
### 🖼 #carousel
پستهای اسلایدری برای آموزش موضوعات مختلف.
---
### 🤖 #AI
هوش مصنوعی
### 📊 #ML
یادگیری ماشین
### 🧠 #DL
یادگیری عمیق (ژرف)
---
## 🔎 جستجوی سریع دستورات و کتابخانهها
هر دستور یا کتابخانهای که لازم دارید کافیست هشتگش را جستجو کنید:
#split
#while
#class
#for
#dict
#list
#opencv
#cv2
#numpy
#matplotlib
#tkinter
و …
---
## 🎯 دورهها و تمرینها
📘 دوره آموزش مقدماتی پایتون
🧪 حل ۳۰ سؤال کاربردی برای تقویت مهارتهای دوره مقدماتی
🎖چالش ۳۰ روزه Python for AI
برای اینکه راحتتر به مطالب دلخواهتون برسید، از هشتگهای زیر استفاده کنید:
---
### 😂 #طنز
مطالب فان و خندهدار برای فاصله گرفتن از دنیای کدنویسی.
### 🧪 #تست_تایم
تستها و تمرینهایی که باید برای تقویت مهارتهای برنامهنویسی بزنید.
### 📘 #بدانیم
نکات مهم و کاربردی دربارهی برنامهنویسی و پایتون.
### 📚 #بخوانیم
دانستنیها و مقالاتی که پیشنهاد میکنم حتما مطالعه کنید.
### 📖 #معرفی_کتاب / #بوک_تایم
کتابهای پیشنهادی برای یادگیری اصولیتر.
### 🔥 #موتیو_تایم
پستهای انگیزشی و انرژیبخش برای ادامهی مسیر یادگیری.
### 📚 #کتابخانه
کتابخانههایی که در کانال معرفی شدهاند.
### 📃 #برگه_تقلب و #Cheat_Sheet
خلاصه و نکات کلیدی
---
### 🎮 #game
بازی های ساخته شده با پایتون
### 🛣 #roadmap
نقشهراه یادگیری پایتون و مهارتهای لازم.
### 🧩 #project_time
پروژههای تمرینی برای افزایش تجربه و تسلط.
### 📄 #paper
مقالات علمی و تخصصی معرفیشده.
---
### ⚡️ #PythonTricks
میانبرها و ترفندهای کاربردی پایتون.
### ✨ #Pythonmagic
رفتارهای خاص و جالب پایتون که کمتر کسی میداند.
### 🧰 #functools
ابزارها و تکنیکهای مرتبط با توابع.
### 🧱 #codeBites
خلاصهی یک دستور همراه با نمونهکد کوتاه.
### ❗️ #error
خطاهای رایج پایتون و روش رفع آنها.
### 📰 #news
اخبار روز پایتون و دنیای تکنولوژی.
### 🖼 #carousel
پستهای اسلایدری برای آموزش موضوعات مختلف.
---
### 🤖 #AI
هوش مصنوعی
### 📊 #ML
یادگیری ماشین
### 🧠 #DL
یادگیری عمیق (ژرف)
---
## 🔎 جستجوی سریع دستورات و کتابخانهها
هر دستور یا کتابخانهای که لازم دارید کافیست هشتگش را جستجو کنید:
#split
#while
#class
#for
#dict
#list
#opencv
#cv2
#numpy
#matplotlib
#tkinter
و …
---
## 🎯 دورهها و تمرینها
📘 دوره آموزش مقدماتی پایتون
🧪 حل ۳۰ سؤال کاربردی برای تقویت مهارتهای دوره مقدماتی
🎖چالش ۳۰ روزه Python for AI
✔️ 10 Python Dictionary Tricks You Should Know! 🐍✨
1️⃣ ساخت دیکشنری با مقدار پیشفرض
2️⃣ ادغام دو دیکشنری (Python 3.9+)
3️⃣ برعکس کردن key و value
4️⃣ گرفتن مقدار با مقدار پیشفرض امن
5️⃣ مرتبسازی دیکشنری بر اساس value
6️⃣ حذف آیتم و گرفتن مقدار همزمان
7️⃣ ساخت دیکشنری از دو لیست
8️⃣ بررسی وجود چند key بهصورت همزمان
9️⃣ دیکشنری کامپرهنشن
🔟 شمارش تکرار آیتمها
> ⚠️ دیکشنریها خیلی قدرتمندن؛ ولی خوانایی کد رو فدای کوتاهنویسی نکن!
#dict | #PythonTricks | @LearnPythonicy
👇 کدومش بیشتر به کارت خورد؟ کامنت کن!
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"])
> ⚠️ دیکشنریها خیلی قدرتمندن؛ ولی خوانایی کد رو فدای کوتاهنویسی نکن!
#dict | #PythonTricks | @LearnPythonicy
👇 کدومش بیشتر به کارت خورد؟ کامنت کن!
✔️ حذف None و مقادیر تکراری با حفظ ترتیب در پایتون
در بسیاری از سناریوهای واقعی (دیتاپروسسینگ، لاگها، ورودی کاربر)،
علاوه بر حذف مقادیر تکراری و None، حفظ ترتیب عناصر هم اهمیت دارد.
در این حالت استفاده از set مناسب نیست، چون ترتیب را از بین میبرد.
راهحل تمیز و پایتونیک، استفاده از
🔍 مزایا
. ترتیب لیست حفظ میشود
. بدون حلقهی دستی
. مناسب پیشپردازش دیتا
⚠️ نکته:
این روش از پایتون 3.7 به بعد کاملاً قابل اعتماد است (ترتیب دیکشنری حفظ میشود).
#fromkeys | #dict | #list | #none | @LearnPythonIcy
در بسیاری از سناریوهای واقعی (دیتاپروسسینگ، لاگها، ورودی کاربر)،
علاوه بر حذف مقادیر تکراری و None، حفظ ترتیب عناصر هم اهمیت دارد.
در این حالت استفاده از set مناسب نیست، چون ترتیب را از بین میبرد.
راهحل تمیز و پایتونیک، استفاده از
dict.fromkeys است:data = [1, 2, None, 3, 2, None, 4, 1]
clean_data = list(dict.fromkeys(x for x in data if x is not None))
print(clean_data)
📌 خروجی:
[1, 2, 3, 4]
🔍 مزایا
. ترتیب لیست حفظ میشود
. بدون حلقهی دستی
. مناسب پیشپردازش دیتا
⚠️ نکته:
این روش از پایتون 3.7 به بعد کاملاً قابل اعتماد است (ترتیب دیکشنری حفظ میشود).
#fromkeys | #dict | #list | #none | @LearnPythonIcy