使用 dict
類將元組列表轉換為字典,例如 my_dict = dict(list_of_tuples)
。 dict
類可以傳遞一個元組列表并返回一個新字典。
list_of_tuples = [('one', 1), ('two', 2), ('three', 3)]
my_dict = dict(list_of_tuples)
# ??? {'one': 1, 'two': 2, 'three': 3}
print(my_dict)
我們使用 dict
類將元組列表轉換為字典。
請注意
,此方法僅在您的元組每個包含 2 個元素(一個鍵和一個值)時才有效。
或者,我們可以使用字典推導。
使用字典推導將元組列表轉換為字典,例如 my_dict = {tup[0]: tup[1] for tup in list_of_tuples}
。 字典推導將遍歷列表,允許我們將每個鍵值對設置為特定的元組元素。
list_of_tuples = [('one', 1), ('two', 2), ('three', 3)]
my_dict = {tup[0]: tup[1] for tup in list_of_tuples}
# ??? {'one': 1, 'two': 2, 'three': 3}
print(my_dict)
字典推導與列表推導非常相似。
他們對字典中的每個鍵值對執(zhí)行一些操作,或者選擇滿足條件的鍵值對的子集。
在每次迭代中,我們將字典鍵設置為元組中的第一個元素,并將相應的值設置為第二個元素。
這種方法比使用 dict
類靈活得多,因為它不假定列表中的元組只有 2 個元素——一個鍵和一個值。
list_of_tuples = [(1, 'one', 'a'), (1, 'two', 'b'), (3, 'three', 'c')]
my_dict = {tup[1]: tup[0] for tup in list_of_tuples}
# ??? {'one': 1, 'two': 2, 'three': 3}
print(my_dict)
如果你的元組只包含兩個元素,你也可以使用解包。
list_of_tuples = [('one', 1), ('two', 2), ('three', 3)]
my_dict = {key: value for key, value in list_of_tuples}
print(my_dict)
與 dict
類相反,如果每個元組中的第一個元素是值,這種方法也適用。
list_of_tuples = [(1, 'one'), (2, 'two'), (3, 'three')]
my_dict = {key: value for value, key in list_of_tuples}
print(my_dict) # ??? {'one': 1, 'two': 2, 'three': 3}
解包時,確保聲明的變量與可迭代對象中的項目一樣多。
從元組中解包時,每個變量聲明都算作一個項目。
確保聲明的變量與元組中的項目一樣多。
key, value = ('one', 1)
print(key) # ??? one
print(value) # ??? 1
如果我們嘗試解包的值多于或少于元組中的值,則會出現(xiàn)錯誤。
# ?? ValueError: too many values to unpack (expected 2)
key, value = ('one', 1, 'a')
我們聲明了 2 個變量,但元組包含 3 個項目。 元組中變量和項的數(shù)量不一致會導致
ValueError
。
如果不需要存儲某個值,請使用下劃線作為變量名稱。
key, value, _ = ('one', 1, 'a')
print(key) # ??? one
print(value) # ??? 1
當我們對變量名稱使用下劃線時,我們向其他開發(fā)人員表明該變量只是一個占位符。
解包值時,我們可以根據(jù)需要使用盡可能多的下劃線。文章來源:http://www.zghlxwxcb.cn/news/detail-401104.html
相關閱讀文章來源地址http://www.zghlxwxcb.cn/news/detail-401104.html
- Python 中將嵌套字典轉換為對象
- 如何在 Python 中為字典建立索引
- 在 Python 中對元組列表進行排序
到了這里,關于Python 中將元組列表轉換為字典的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!