Python 中的元組到字典

在本教程中,我們將討論如何在 Python 中將元組轉換為字典。

我們知道元組的元素包含在括號中,字典的元素以鍵值對的形式存在,並包含在花括號中。

我們將使用以下技術在 Python 中將元組轉換為字典-

  1. 使用 setdefault()
  2. 使用 dict()
  3. 使用字典推導
  4. 使用 zip()和 dict()

讓我們從第一個開始,

setdefault()的功能是返回與某個鍵相關聯的值,如果該鍵不存在,則會插入一個默認值。

下面的程序說明了如何在 Python 程序中使用它。


#creating a function 
def convert_dict(tup, dic):
    for i, j in tup:
        dic.setdefault(i, []).append(j)
    return dic
#initialising the tuple values  
tuple_values = [("English", 2001), ("Hindi", 2002), ("Mathematics", 2003),
    ("Computer Science", 2004), ("Physics", 2005), ("Chemistry", 2006)]
res_dictionary = {}
#displaying the resultant dictionary
print ("The converted dictionary is: ", convert_dict(tuple_values,res_dictionary))

輸出:

The converted dictionary is: {'English': [2001], 'Hindi': [2002], 'Mathematics': [2003], 'Computer Science': [2004], 'Physics': [2005], 'Chemistry': [2006]}

解釋-

  1. 在第一步中,我們創建了一個以元組和字典為輸入的函數。
  2. 之後,我們使用 for循環使用 setdefault() 並追加主題名稱和主題代碼。
  3. 現在我們已經初始化了元組的值,並將結果字典聲明為{}。
  4. 在執行上述程序時,會顯示預期的輸出。

在第二個程序中,我們將學習 dict()如何用於同樣的目的。

dict()用於在 Python 中創建字典,讓我們看看它如何為我們的程序增加意義。

考慮下面給出的程序,


#creating a function 
def convert_dict(tup, dic):
#use of dict()
    dic = dict(tup)
    return dic  
#initialising the tuple values  
tuple_values = [("English", 2001), ("Hindi", 2002), ("Mathematics", 2003),
    ("Computer Science", 2004), ("Physics", 2005), ("Chemistry", 2006)]
res_dictionary = {}
#displaying the resultant dictionary
print ("The converted dictionary is: ", convert_dict(tuple_values,res_dictionary))

輸出:

The converted dictionary is: {'English': 2001, 'Hindi': 2002, 'Mathematics': 2003, 'Computer Science': 2004, 'Physics': 2005, 'Chemistry': 2006}

解釋-

  1. 在第一步中,我們創建了一個以元組和字典為輸入的函數。
  2. 在此之後,我們使用 for循環來使用 dict(),它將元組作為參數並返回字典。
  3. 現在我們已經初始化了元組的值,並將結果字典聲明為{}。
  4. 在執行上述程序時,會顯示預期的輸出。

在第三個節目中,我們將看到字典推導如何幫助我們。

下面的程序顯示了同樣的情況,


#initialising the tuple values
sub_names = ('English', 'Hindi', 'Mathematics', 'Computer Science', 'Physics', 'Chemistry')
sub_codes = (2001, 2002, 2003, 2004, 2005, 2006)
#displaying the tuples
print("The values in sub_names are: ", sub_names)
print("The values in sub_codes are: ", sub_codes)
if len(sub_names) == len(sub_codes):
    res_dict = {sub_names[i]: sub_codes[i] for i, _ in enumerate(sub_codes)}
#displaying the resultant dictionary
    print("The resultant dictionary is: ", res_dict)

輸出:

The values in sub_names are: ('English', 'Hindi', 'Mathematics', 'Computer Science', 'Physics', 'Chemistry')
The values in sub_codes are: (2001, 2002, 2003, 2004, 2005, 2006)
The resultant dictionary is: {'English': 2001, 'Hindi': 2002, 'Mathematics': 2003, 'Computer Science': 2004, 'Physics': 2005, 'Chemistry': 2006}

解釋-

  1. 首先,我們初始化了兩個元組,子名稱和子代碼,並顯示它們。
  2. 此後,決策關鍵字 if 用於檢查兩個元組的長度是否相同,如果相同,則執行字典推導中定義的功能。
  3. 在執行給定程序時,會顯示所需的輸出。

在最後一個程序中,我們將學習如何在 Python 程序中使用 zip()和 dict()。

我們已經了解了 dict()是如何工作的,這裡我們將應用 dict()和 zip(),zip()方法獲取可迭代的項,並將它們附加到一起形成一個元組。

下面的程序說明了同樣的情況-


#initialising the tuple values
sub_names = ('English', 'Hindi', 'Mathematics', 'Computer Science', 'Physics', 'Chemistry')
sub_codes = (2001, 2002, 2003, 2004, 2005, 2006)
#displaying the tuples
print("The values in sub_names are: ", sub_names)
print("The values in sub_codes are: ", sub_codes)
if len(sub_names) == len(sub_codes):
#using zip() and dict()
    res_dict = dict(zip(sub_names, sub_codes))
#displaying the resultant dictionary
    print("The resultant dictionary is: ", res_dict)

輸出:

The values in sub_names are: ('English', 'Hindi', 'Mathematics', 'Computer Science', 'Physics', 'Chemistry')
The values in sub_codes are: (2001, 2002, 2003, 2004, 2005, 2006)
The resultant dictionary is: {'English': 2001, 'Hindi': 2002, 'Mathematics': 2003, 'Computer Science': 2004, 'Physics': 2005, 'Chemistry': 2006}

解釋-

  1. 首先,我們初始化了兩個元組,子名稱和子代碼,並顯示它們。
  2. 此後,決策關鍵字 if 用於檢查兩個元組的長度是否相同,如果相同,則執行涉及 zip()和 dict()的功能。
  3. 在執行給定程序時,會顯示所需的輸出。

在本教程中,我們學習了在 Python 中將元組轉換為字典的不同方法。


原創文章,作者:VI21P,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126693.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VI21P的頭像VI21P
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論