پیشنهاد شگفت‌انگیز سبزلرن: 50% تخفیف برای آموزش جامع و پروژه محور Tailwind Css + دیزاین فروشگاه قهوه
مشاهده دوره
ثانیه
دقیقه
ساعت
روز
پرسش

چطور یک دیکشنری رو بر اساس مقدارها مرتب کنم؟

How do I sort a dictionary by value?

من یه دیکشنری دارم که کلیدهاش می‌تونن هر چیزی باشن (مثل نام افراد) و مقدارهاش عددی هستن (مثلاً سن افراد). حالا می‌خوام این دیکشنری رو طوری مرتب کنم که مقدارها به ترتیب از کمترین تا بیشترین چیده بشن. چطور می‌تونم این کار رو انجام بدم؟

پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

برای مرتب کردن یک دیکشنری بر اساس مقدارهاش، شما می‌تونید از تابع sorted() در پایتون استفاده کنید. این تابع به شما این امکان رو می‌ده که دیکشنری رو بر اساس مقدارها مرتب کنید و خروجی اون به صورت لیست از تاپل‌ها خواهد بود که هر تاپل شامل یک کلید و مقدار متناظر اون هست.

برای مثال، فرض کنید یه دیکشنری به شکل زیر داریم:

my_dict = {'Ali': 25, 'Sara': 30, 'John': 22, 'Zara': 28}

برای اینکه این دیکشنری رو بر اساس مقدارها مرتب کنیم، می‌تونیم از کد زیر استفاده کنیم:

# Sorting the dictionary by its values
sorted_dict = sorted(my_dict.items(), key=lambda item: item[1])
# Convert the sorted list back to a dictionary
sorted_dict = dict(sorted_dict)

این کد دیکشنری شما رو بر اساس مقدارها به صورت صعودی مرتب می‌کنه. اگر بخواید دیکشنری رو به صورت نزولی (از بیشترین به کمترین) مرتب کنید، می‌تونید به این شکل عمل کنید:

# Sorting the dictionary by its values in descending order
sorted_dict = sorted(my_dict.items(), key=lambda item: item[1], reverse=True)
# Convert the sorted list back to a dictionary
sorted_dict = dict(sorted_dict)

در نهایت، sorted_dict شامل دیکشنری مرتب‌شده شما خواهد بود. این روش کاربردی، سریع و راحت برای مرتب‌سازی دیکشنری‌ها بر اساس مقدارهاست و در اکثر مواقع می‌تونه نیاز شما رو برآورده کنه.

پاسخ: 1403/05/29
آخرین آپدیت: 1403/07/14