Python 的 Dict(字典)是一種資料結構,可以將資料以鍵值對的方式儲存,而「字典反转」則是指將原本的鍵值對反轉,變成值鍵對的方式儲存。在 Python 中,可以使用 dict.items() 來將字典轉換成一個由元組組成的列表,再使用 zip() 將元組的鍵值對反轉,最後再將反轉後的元組轉換成字典,就可以完成字典反轉的動作。
以下是一個簡單的範例,可以看到原本的字典是以鍵值對的方式儲存,而反轉後的字典則是以值鍵對的方式儲存:
# 原本的字典 d = {'name': 'John', 'age': 20, 'city': 'Taipei'} # 將字典轉換成一個由元組組成的列表 l = list(d.items()) # 將元組的鍵值對反轉 l = list(zip(*l)) # 將反轉後的元組轉換成字典 d_reverse = dict(zip(l[1], l[0])) # 印出反轉後的字典 print(d_reverse) # 印出結果 {20: 'age', 'John': 'name', 'Taipei': 'city'}
另外,也可以使用 dict.invert() 來將字典反轉,但是該函式只能對於不含重複值的字典有效,否則會出現錯誤。
# 原本的字典 d = {'name': 'John', 'age': 20, 'city': 'Taipei'} # 將字典反轉 d_reverse = d.invert() # 印出反轉後的字典 print(d_reverse) # 印出結果 {20: 'age', 'John': 'name', 'Taipei': 'city'}
總結來說,Python 的 Dict(字典)可以使用 dict.items() 以及 zip() 的函式來將字典反轉,或是使用 dict.invert() 來將字典反轉,但要注意該函式只能對於不含重複值的字典有效。