为了使元组更易读,通常需要将其转换为一个字典对象。在 Python 中用于处理数据的数据模型包括列表和字典。与字典相反,Python 列表是项目的有序连续。列表中的元素可以用索引 (取决于它们的位置) 找到,而字典中的对象可以用键而不是它们的位置找到。
在 Python 中,dict() 函数制作一个 dictionary。dictionary 是一个无序的、可改变的、可索引的可迭代的集合对象。Python 中的内在函数 tuple() 被用来建立一个元组。一个元组是一种不能被修改的顺序方式。将一种类型的数据转换为另一种类型的数据是一项典型的任务,我们将在这篇文章中探讨如何做到这一点。
在这里,我们将在本文中使用策略,把一个图元列表做成一个字典。
例 1: 使用 Python 中的 dict 函数将一个图元列表转换成 dict
dict() 函数可以用来创建一个 dictionary 对象。dictionary 由 dict() 方法返回,它接受一个图元的列表作为参数。每个元组中包含一个键值对。
下面,我们将一个图元的列表分配给一个变量 "Tuple_List"。这个图元列表包含整数和字符串值。这个图元的列表用print语句打印出来。然后,我们创建了另一个变量 "Tuple_dict",dict()函数被分配给它。dict()函数的键值是每个元组的 "x "和 "y"。在dict()函数中,我们应用了一种字典的理解方法,用于将一个字典转换为另一个字典。在整个转换过程中,源字典中的元素被动态地包含在新的字典中,每个元素都根据需要被改变。
Tuple_List = ((1,"Monday"),(2,"Tuesday"),(3,"Wednesday"),(4,"Thursday"),(4,"Friday"),(5,"Saturday"),(7,"Sunday"),)
print("List:",Tuple_List)
Tuple_Dict = dict((j, i) for i, j in Tuple_List)
print("Dict:",Tuple_Dict)

输出显示图元的列表和字典,如下所示。

例 2: 使用 Python 中的 map 函数将一个图元列表转换为 dict
为了将一个元组转换为 dictionary,利用 map() 函数与 dict() 函数和反转函数一起。map对象被map()方法作为一个迭代器返回。
首先,我们声明了一个变量 "tuplist",并用整数值和字符串值的元组对其进行初始化。这将被打印出来,因为我们对它调用了打印函数。然后,创建了变量 "Dict",调用dict函数。在dict函数中,我们使用了map函数,并向其传递了一个反转函数和一个元组列表作为参数。map函数将从图元组列表中返回键值对。
tuplist = ((100, "Ten"),(100, "Hundred"), (1000, "Thousand"))
print("List:",tuplist)
Dict = dict(map(reversed, tuplist))
print("Dict:",Dict)

我们有了字典作为输出,但是第一个元组元素现在是一个值,而元组的第二个元素现在是字典的键。你可以根据你的需要,使用这个方法或上面描述的 dictionary 理解方法。

例 3: 使用 Python 中的 setdefault 函数将一个 Tuples 列表转换为 dict
setdefault() 方法需要两个参数:一个 key 和一个 dictionary 值。如果没有找到一个键,setdefault()函数会生成一个带有def值的新键。
这里,我们用关键字 "def "定义了一个函数 "convert"。"convert "函数有两种类型 "tuple "和 "dict"。然后,我们用for循环来迭代tuple列表中的项目。调用dict.setdefault函数,将一个参数 "a "作为一个关键值,并将这些值添加到第二个参数中。然后,append 方法被用来在 dictionary 中添加值。之后,我们初始化了图元的列表,并将其分配给变量 "myTuple"。变量 "MyDictionary "是为要从列表的元组中添加的字典项目创建的。现在,print 函数有一个转换函数,我们在其中传递了要打印的 tuple 变量和 dict 变量。
def convert(tuple, dict):
for a, b in myTuple:
dict.setdefault(a, []).append(b)
return dict
myTuple= [("Rose", 17), ("jasmine", 18), ("sofia", 15), ("Bella", 16)]
MyDictionary = {}
print(convert(myTuple, MyDictionary))

如图所示,它返回一个字典,其中一个键元素位于 tuple 的首位,一个值包含在一个列表中。

例 4: 使用 Python 中的 fromkeys 函数将一个 Tuples 列表转换为 dict
fromkeys() 函数是将一个元组列表转换为 Python 字典的另一个选择。
两个变量用 "color_keys" 和 "color_value" 的名字表示。变量 "color_keys" 有图元列表,而 color_value 有要为上述图元列表中的键设置的值。我们可以通过fromkeys函数来实现这一点,该函数将里面的这两个声明的变量作为一个参数。
fromkeys函数在dict函数中使用,该函数被分配给变量 "dict_color"。dict函数提供了一个包含图元列表的字典,其值为:
color_keys = ['Indigo', 'Green', 'Yellow', 'Pink']
color_value = 'color'
color_dict = dict.fromkeys(color_keys, color_value)
print(color_dict)

如图所示,输出的值与下面 python 字典中的键项设置相同。

例5:使用Python中的zip函数将一个Tuples列表转换为dict
一起使用 dict() 和 zip() 函数是将一个图元列表转换为 dictionary 的最简单策略之一。我们正在使用 dict() 和 zip() 函数从两个序列中制作一个字典。对于 dict 和 zip,dict(zip(keys, values)) 需要一次性的全局查找。
两个列表被创建为 "player_name "和 "player_score",它们将通过使用 zip 函数在字典中配对起来。zip 函数与这两个列表一起被传递,它将把它们压缩在一起。zip 函数在 dict 函数中被调用。然后,我们将 dict 函数的操作分配给变量 "player"。
players_name = ['Smith', 'Ravi', 'Hashim', 'Babar']
players_score = [67, 84, 50, 100]
players = dict(zip(players_name, players_score))
print(players)

这两个列表被压缩在一起,并以字典格式返回,如下所示。

结论
Python 包括 list 和 dictionary,它们是最可靠的数据结构。在 Python 开发中,你所遇到的最流行的技术是将一种格式转换为另一种。因此,我们已经用 Python 示例程序向你展示了不同的方法,这些程序将图元列表转换为字典。