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/n/126693.html

相关推荐

  • Python中字符串拼接满足结合律

    一、结合律的概念 结合律是指在一个运算中,无论运算量的排列顺序如何,所得到的结果都是相同的。 换言之,就是适用于同一个运算的元素,当它们按照不同的方式组合在一起时,得到的结果是相等…

    编程 2024-10-31
  • Python time strftime:格式化日期和时间字符串

    Python中的strftime()函数是一个非常常用的函数,主要用于将时间转换成我们想要的格式,从而方便衡量时间的一些特定业务操作。 一、strftime()函数的基本概念 st…

    编程 2024-12-12
  • 寻找精通python,熟练 精通

    本文目录一览: 1、Python从入门到精通要看哪些书 2、小白如何系统学习python从入门到精通? 3、Python多长时间可以学会精通 4、入门到精通的路上,有哪些快速掌握P…

    编程 2025-01-09
  • Python Dictionary:数据存储和检索的高效利器

    在Python语言中,Dictionary是一种非常有用的数据类型,尤其是在数据存储和检索方面。Dictionary是一种以键值对形式存储数据的数据结构,它支持快速的检索和插入、删…

    编程 2024-11-19
  • 安装Python的cv2库,加强图像处理能力

    一、什么是cv2库 cv2库是Python中用来增强图像处理能力的库。OpenCV是一个由英特尔公司开源的计算机视觉库。OpenCV始于1999年,如今这个开源计算机视觉库包含了超…

    编程 2025-01-06
  • Python算术运算符和它们的用法

    Python是一种广泛使用的程序语言,拥有丰富的数学运算符,帮助开发者完成各种算术操作。 一、加法运算符+ 加法运算符+用于将两个数字加在一起,或是在两个字符串后面添加字符。例如:…

    编程 2024-12-13
  • 清理conda缓存:提高Python开发效率

    一、什么是conda缓存 Conda是一个Python包管理器和环境管理器,可以轻松地创建、保存、加载和切换不同的Python环境。当我们使用conda install安装Pyth…

    编程 2024-12-15
  • 初中Python代码大全

    想要学好编程,必须要多写代码。那么,在学习Python的过程中,初中Python代码大全就是一个很有用的资源。 一、基本语法 Python是一门简洁的语言,基本语法简单易懂,上手较…

    编程 2025-04-27
  • python之字符串的切片,python字符串切片详解

    本文目录一览: 1、python中line.split()的用法及实际使用示例 2、Python数据分析笔记#7.3.1 字符串对象方法 3、Python切片语法图像记忆法 4、P…

    编程 2025-01-09
  • Python 程序:打印列表中元素

    写一个 Python 程序,用一个实例打印列表中的元素。 打印列表元素的 Python 程序示例 1 Python 打印功能自动打印列表中的元素。 # Python Program…

    编程 2024-12-22