python 如何將dict中的值依照key排序?

 

 


 

 

在 Python 中,可以使用以下方法將字典中的值依照鍵排序:

方法 1:使用內建的 sorted() 函數

你可以使用 sorted() 函數對字典的鍵進行排序,並生成新的字典。

以下是範例代碼:

 

 

# 原始字典
data = {'c': 3, 'a': 1, 'b': 2}

# 根據鍵排序
sorted_dict = {key: data[key] for key in sorted(data)}

print(sorted_dict)

輸出:

 

 

{'a': 1, 'b': 2, 'c': 3}

方法 2:使用 collections.OrderedDict

如果需要保留排序後的字典順序(Python 3.7 之後普通字典已經保留順序),可以使用 collections.OrderedDict

from collections import OrderedDict

# 原始字典
data = {'c': 3, 'a': 1, 'b': 2}

# 根據鍵排序
sorted_dict = OrderedDict(sorted(data.items()))

print(sorted_dict)

輸出:

OrderedDict([('a', 1), ('b', 2), ('c', 3)])

方法 3:排序後覆蓋原始字典

如果你不需要保留原始字典,可以直接覆蓋它:

data = {'c': 3, 'a': 1, 'b': 2}

# 將排序後的結果覆蓋原字典
data = dict(sorted(data.items()))

print(data)

輸出:

{'a': 1, 'b': 2, 'c': 3}

這些方法均可以根據鍵排序字典,選擇適合你需求的方法即可!


 

 

 


 

如何將 dict 的 key 取出並且反向排序?

 

 

 


 

 

要將 dictkey 取出並且反向排序,可以使用以下方法:

方法 1:使用內建的 sorted() 函數

使用 sorted() 函數並指定參數 reverse=True 來進行反向排序。

範例代碼:

 

 

# 原始字典
data = {'c': 3, 'a': 1, 'b': 2}

# 取出並反向排序 key
reversed_keys = sorted(data.keys(), reverse=True)

print(reversed_keys)

輸出:

 

 

['c', 'b', 'a']

方法 2:直接操作 dict.keys() 並轉為列表

如果你不需要 sorted() 的額外功能,可以直接將 keys 轉為列表並使用 list.sort()

範例代碼:

# 原始字典
data = {'c': 3, 'a': 1, 'b': 2}

# 取出 key 並反向排序
keys = list(data.keys())
keys.sort(reverse=True)

print(keys)

輸出:

['c', 'b', 'a']

方法 3:直接使用 reversed(sorted(...))

如果只想簡化處理順序:

# 原始字典
data = {'c': 3, 'a': 1, 'b': 2}

# 使用 reversed(sorted(...)) 取得反向排序的 key
reversed_keys = list(reversed(sorted(data.keys())))

print(reversed_keys)

輸出:

 

['c', 'b', 'a']

這些方法都能有效地將字典的鍵提取並反向排序,根據需求選擇最適合的方式即可!