了解Python中字典反转的功能

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() 來將字典反轉,但要注意該函式只能對於不含重複值的字典有效。

發佈留言