如何将Python元组转换为字典?

如何将Python元组转换为字典?

Python元组元素由括号括起来,而字典元素以键值对的形式呈现,并由花括号括起来。

在本文中,我们将展示如何将Python元组转换为字典。以下是将元组转换为字典的方法:

  • 使用dict()函数

  • 使用字典推导和enumerate()函数

  • 使用zip()和dict()函数

假设我们有一个包含一些元素的元组。我们将使用上述不同的方法将输入元组转换为Python字典并返回它。

方法1:使用dict()函数

在Python中,使用dict()函数将元组转换为字典。可以使用dict()函数创建字典对象。字典是由dict()方法返回的,该方法以元组的元组作为参数。每个元组中包含一个键值对。

下面的代码中,我们使用dict()方法并将字典推导作为参数来创建字典。字典推导是一种将一个字典转换为另一个字典的技术。在转换过程中,可以有条件地包含原始字典中的元素,并且可以根据需要转换每个元素。

输出是一个键值对的字典。元组的第一个元素成为字典的键,而元组的第二个元素成为字典的值。

示例

以下程序使用dict()函数将元组转换为字典 –

# input tuple
inputTuple = ((5, "TutorialsPoint"), (6, "Python"), (7, "Codes"))
print("The input Tuple:", inputTuple)

# Here we are iterating through each element (pairs) of the tuple using dictionary comprehension and converting it to the dictionary
resultDictionary = dict((x, y) for x, y in inputTuple)
print("The result dictionary:", resultDictionary)

输出

在执行上述程序时,会生成以下输出:

The input Tuple: ((5, 'TutorialsPoint'), (6, 'Python'), (7, 'Codes'))
The result dictionary: {5: 'TutorialsPoint', 6: 'Python', 7: 'Codes'}

方法2:使用字典解析和enumerate()函数

注意 - 要将两个元组转换为字典,这两个元组必须具有相同的长度。否则,我们将无法匹配所有的键值对。

算法(步骤)

以下是执行所需任务的算法/步骤:

  • 创建两个变量来存储具有相同长度的第一个和第二个输入元组。

  • 使用if条件语句,检查两个元组的长度是否相等。

  • 如果条件为真,使用 enumerate() 函数在字典解析中将两个元组转换为字典。

  • 在转换后,打印给定的两个元组的结果字典。

    enumerate() 方法会将可迭代对象添加一个计数器,并返回enumerate对象。

###

语法

enumerate(iterable, start=0)

参数

iterable − 可以是任何支持迭代的序列 / 对象 / 迭代器

start − enumerate() 从该值开始计数。如果未指定 start,则使用值0。

示例

以下程序使用字典推导方法将两个元组转换为字典(一个用作字典的键,另一个用作字典的值)−

# input tuple_1
inputTuple_1 = ('TutorialsPoint', 'Python', 'Codes')

# input tuple_2
inputTuple_2 = (5, 6, 7)

# printing the input tuple_1(keys)
print("The input Tuple_1(keys) = ", inputTuple_1)

# printing the input tuple_2(values)
print("The input Tuple_2(values) = ", inputTuple_2)

# Checking whether the length of both the tuples are equal or not
if len(inputTuple_1) == len(inputTuple_2):

   # converting both the tuples into a dictionary using enumerate()
   # function in a dictionary comprehension
      resultDictionary = {inputTuple_1[i] : inputTuple_2[i] for i, _ in enumerate(inputTuple_2)}

# printing the result dictionary from the given two tuples
print("The result dictionary:", resultDictionary)

输出

The input Tuple_1(keys) = ('TutorialsPoint', 'Python', 'Codes')
The input Tuple_2(values) = (5, 6, 7)
The result dictionary: {'TutorialsPoint': 5, 'Python': 6, 'Codes': 7}

方法三:使用zip()和dict()函数

算法(步骤)

  • 创建两个变量来存储具有相同长度的第一个和第二个输入元组。

  • 使用if条件语句,检查两个元组的长度是否相等。

  • 如果条件为真,则使用zip()和dict()函数将两个元组转换为字典。

    zip()方法 - zip()方法接受可迭代对象(可能是零个或多个),将它们组合成一个元组并返回。

Syntax- zip(*iterables)
  • dict()函数 - dict()函数用于创建字典。

  • 将给定的两个元组转换成字典后打印结果字典。

示例

下面的程序使用zip()和dict()函数将两个元组转换成字典(一个元组作为字典的键,另一个作为值) –

# input tuple_1
inputTuple_1 = ('TutorialsPoint', 'Python', 'Codes')

# input tuple_2
inputTuple_2 = (5, 6, 7)

# printing the input tuple_1(keys)
print("The input Tuple_1(keys) = ", inputTuple_1)

# printing the input tuple_2(values)
print("The input Tuple_2(values) = ", inputTuple_2)

# Checking whether the length of both the tuples are equal or not
if len(inputTuple_1) == len(inputTuple_2):

   # converting both the tuples into a dictionary using zip()
   # and dict() functions
   # Here zip function takes elements of input tuple 1 as keys and input tuple 2 elements as values
   # Then we convert this to a dictionary using dict()
      resultDictionary = dict(zip(inputTuple_1, inputTuple_2))

# printing result dictionary from the given two tuples
print("The result dictionary:", resultDictionary)

输出

The input Tuple_1(keys) = ('TutorialsPoint', 'Python', 'Codes')
The input Tuple_2(values) = (5, 6, 7)
The result dictionary: {'TutorialsPoint': 5, 'Python': 6, 'Codes': 7}

结论

在本文中,我们学习了如何使用三种不同的函数将元组转换为字典。我们还观察到,如果有两个元组,我们可以使用两种不同的方法, zip() 和 enumerate() , 将第一个元组的元素作为键,第二个元组的元素作为值来创建字典。

通过我们最新的 Python教程 学习Python。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程