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

(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

发表回复

登录后才能评论