Python 的字典(Dict)是一種非常有用的資料結構,它可以讓我們快速查找、存取資料。但是,字典本身並不支援排序,所以當我們想要對字典中的資料做排序時,就會遇到一些困難。
在 Python 中,我們可以使用 sorted() 函式來對字典中的資料做排序,它會回傳一個排序後的 list,而不會改變原本的字典。
# 定義一個字典 my_dict = { 'c': 3, 'a': 1, 'b': 2 } # 使用 sorted() 函式對字典做排序 sorted_dict = sorted(my_dict) # 印出排序後的 list print(sorted_dict) # 輸出結果: # ['a', 'b', 'c']
如果我們想要按照字典中的值來排序,可以使用 sorted() 函式的 key 參數,它可以接受一個函式,用來指定排序的依據:
# 定義一個字典 my_dict = { 'c': 3, 'a': 1, 'b': 2 } # 使用 sorted() 函式對字典做排序 sorted_dict = sorted(my_dict, key=my_dict.get) # 印出排序後的 list print(sorted_dict) # 輸出結果: # ['a', 'b', 'c']
此外,我們也可以使用 collections 模組中的 OrderedDict 類別來對字典做排序,它會回傳一個排序後的字典,而不會改變原本的字典:
# 引入 collections 模組 import collections # 定義一個字典 my_dict = { 'c': 3, 'a': 1, 'b': 2 } # 使用 OrderedDict 類別對字典做排序 sorted_dict = collections.OrderedDict(sorted(my_dict.items())) # 印出排序後的字典 print(sorted_dict) # 輸出結果: # OrderedDict([('a', 1), ('b', 2), ('c', 3)])
總結來說,Python 中的字典(Dict)是一種非常有用的資料結構,它可以讓我們快速查找、存取資料,但是本身並不支援排序,所以當我們想要對字典中的資料做排序時,可以使用 sorted() 函式或是 collections 模組中的 OrderedDict 類別來對字典做排序。