TGViewer
PyCoders (پایتون) PyCoders (پایتون) @python_rd · 4.1K subscribers
Post #2170 534
🔆 حذف آیتم‌های تکراری از لیست، بدون به‌هم‌ریختن ترتیب

🔹 فرض کن از API یه لیست دریافت کردی:

users = ["ali", "reza", "sara", "ali", "mohammad", "reza"]

می‌خوایم آیتم‌های تکراری حذف شن، اما ترتیب اصلی لیست حفظ بشه.

🔹 خب میگی اینکارو میکنم:

unique_users = list(set(users))
print(unique_users)

🔹 ولی مشکل اینجاست که set ترتیب آیتم‌ها رو تضمین نمی‌کنه.

🔹راه بهتر:

users = ["ali", "reza", "sara", "ali", "mohammad", "reza"]

unique_users = list(dict.fromkeys(users))

print(unique_users)

🔹خروجی:

['ali', 'reza', 'sara', 'mohammad']

🔹چرا کار می‌کنه؟

دیکشنری تو پایتون کلید تکراری قبول نمیکنه و ترتیب اضافه‌شدن کلیدها رو هم نگه می‌داره.
پس dict.fromkeys() آیتم‌های تکراری رو حذف می‌کنه و ترتیب لیست رو هم حفظ می‌کنه.

🔹این تکنیک برای تمیز کردن داده‌های دریافتی از فرم، API، فایل CSV و دیتابیس به درد میخوره.

🐍 @python_rd
  • 👍 2
  • ❤ 1
More from @python_rd
  1. Oct 13, 2026کوییز پایتون 🔆 خروجی اجرای کد زیر چیست؟ t = (1, 2, [3, 4]) try: t[2] += [5] except TypeEr…
  2. Oct 13, 2026🔆 راز مکانیزم پیاده‌سازی و تغییر جهت NaN در الگوریتم مرتب‌سازی پایتون (Timsort) 🔹 باگ ری…
  3. Oct 13, 2026🔆 حذف تاریخی GIL از پایتون (Free-threaded Python) 🔹 یک رویداد تاریخی: حذف قفل مفسر (GIL)…
  4. Oct 11, 2026🔆 مدیریت تمیز منابع با Context Managerهای سفارشی (contextlib) 🔹 ساخت Context Managerها م…
  5. Oct 10, 2026🔆 چرا برای داده‌های حجیم نباید از return استفاده کنی؟ 🔹 وقتی یک تابع لیست بزرگی از داده‌…
  6. Oct 10, 2026🔆 خروجی این تکه کد چیه؟ def add_item(item, lst=[]): lst.append(item) return lst print(add…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →