Python 中的元组转字典

2024 年 8 月 29 日 | 4 分钟阅读

在本教程中,我们将讨论如何在 Python 中将元组转换为字典。

我们知道元组的元素包含在括号中,而字典的元素以键值对的形式存在,并包含在大括号中。

我们将使用以下技术将元组转换为 Python 字典:

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

让我们从第一个开始,

使用 setdefault()

setdefault() 的作用是返回与键关联的值,如果键不存在,则以默认值插入。

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

输出

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()

dict() 用于在 Python 中创建字典,让我们看看它如何为我们的程序增加意义。

考虑下面的程序,

输出

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

说明:

  1. 第一步,我们创建了一个函数,它接受元组和字典作为输入。
  2. 在此之后,我们使用 for 循环来使用 dict(),它接受元组作为参数并返回一个字典。
  3. 现在我们已经初始化了元组的值并声明了结果字典为 {}。
  4. 执行上述程序后,将显示预期的输出。

在第三个程序中,我们将看到字典推导式如何帮助我们。

使用字典推导式

下面的程序展示了这一点:

输出

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. 首先,我们初始化了两个元组 sub_names 和 sub_codes,并显示了它们。
  2. 之后,使用决策关键字 if 来检查两个元组的长度是否相同,如果相同,则执行字典推导式中定义的功能。
  3. 执行给定的程序后,将显示所需的输出。

在最后一个程序中,我们将学习如何在 Python 程序中使用 zip() 和 dict()。

使用 zip() 和 dict()

我们已经了解了 dict() 的工作原理,在这里我们将同时应用 dict() 和 zip(),zip() 方法接受可迭代项并将它们组合成一个元组。

以下程序说明了这一点-

输出

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. 首先,我们初始化了两个元组 sub_names 和 sub_codes,并显示了它们。
  2. 在此之后,使用决策关键字 if 来检查两个元组的长度是否相同,如果相同,则执行涉及 zip() 和 dict() 的功能。
  3. 执行给定的程序后,将显示所需的输出。

结论

在本教程中,我们学习了在 Python 中将元组转换为字典的各种方法。