چطور یک دیکشنری رو بر اساس مقدارها مرتب کنم؟
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 شامل دیکشنری مرتبشده شما خواهد بود. این روش کاربردی، سریع و راحت برای مرتبسازی دیکشنریها بر اساس مقدارهاست و در اکثر مواقع میتونه نیاز شما رو برآورده کنه.