Python 使用自定义值列表初始化字典

Python 使用自定义值列表初始化字典

字典通过存储键值对来定义,而字典中的自定义值列表意味着与所有键元素相关联的列表可以根据条件进行修改或更改。这为程序提供了一种高效的方法,用户可以通过列表来添加、修改或删除以满足需求。在Python中,我们有一些内置函数- range()、 len()、 zip()、 dict()和 enumerate()可以使用自定义值列表来初始化字典。

语法

示例中使用了以下语法-

range()

内置函数range()的定义是根据给定的长度返回数字序列。

len()

内置函数len()的定义是返回长度对象。

zip()

zip()是Python中的一个内建函数,可以用于迭代任意数量的对象,参数可以是列表、元组、字符串等。

dict()

dict()是Python中的内置函数,用于创建字典。该字典会收集具有特定键和元素的内容。

enumerate()

内置函数enumerate()的工作方式是通过迭代元素序列并跟踪特定索引位置来实现的。

使用for循环

该程序在for循环迭代键和值列表时使用了内置函数len()和range()。使用这个过程,字典设置了自定义值列表。

示例

在以下示例中,我们将通过初始化两个不同的列表- 键和值,为字典启动程序。然后使用变量res中的空字典来存储结果。接下来,使用for循环遍历程序的第一个列表,并将所有元素设置为键。现在使用赋值运算符即=,将第二个列表设置为字典中的值。最后,我们使用名为res的变量打印结果。

k = ['P', 'Q', 'R', 'S', 'T']
v = [11, 92, 53, 94, 67]
res = {}
for i in range(len(k)):
    res[k[i]] = [v[i]]
print("Dictionary with custom value list in Python:\n", res)

输出

Dictionary with custom value list in Python:
 {'P': [11], 'Q': [92], 'R': [53], 'S': [94], 'T': [67]}

使用 zip() 函数

该程序使用两个内置函数 dict() 和 zip() 来使用自定义值列表初始化一个字典。

示例

在下面的示例中,开始初始化两个变量 – keys 和 values,它们将以列表的形式存储元素。接下来,使用 zip() 函数在 dict() 函数内部,接受两个参数 – k(设置键)和 v(迭代设置特定键的值的变量i)。所有这些过程都存储在变量 res 中。最后,我们使用变量 res 打印结果。

k = ['M', 'N', 'O']
v = [100, 200, 300]
res = dict(zip(k, [[i] for i in v]))
print("The Custom value in the form of a list:\n", res)

输出

The Custom value in the form of a list:
 {'M': [100], 'N': [200], 'O': [300]}

使用字典

该程序使用内置函数len()和range()来计算给定列表的特定长度,并根据列表中给定元素的顺序设置范围。

示例

在下面的示例中,我们将分别在变量Subject和Score中存储两个列表。然后使用字典{}通过for循环计算特定的键元素和值对,并将其存储在变量res中。接下来,使用变量res显示程序输出。

Subject = ['Math', 'English', 'Hindi', 'Science']
Score = [95, 78, 82, 65]
res = {Subject[i]: [Score[i]] for i in range(len(Subject))}
print("Subject with a score:\n", res)

输出

Subject with a score:
 {'Math': [95], 'English': [78], 'Hindi': [82], 'Science': [65]}

使用enumerate()函数

该程序在enumerate()函数内部使用内建函数zip(),该函数可以通过自定义的值列表来跟踪特定的迭代来初始化字典。

示例

在下面的示例中,开始程序初始化两个变量 – person(设置名称列表)和age(设置人的年龄)。在变量res中使用字典推导式将计算字典的特定键-值对并显示结果。

person = ['John', 'Mark', 'Jonathan', 'Sam', 'Karl']
age = [18, 26, 22, 24, 33]
res = {person: [age] for i, (person, age) in enumerate(zip(person, age))}
print("Person name with age:\n",res)

输出

Person name with age: 
{'John': [18], 'Mark': [26], 'Jonathan': [22], 'Sam': [24], 'Karl': [33]}

结论

我们讨论了使用自定义值列表解决字典初始化的不同方法。字典解析是基于特定条件迭代对象的键-值对的最佳方法。在任何书的末尾都会找到一个字典的真实例子,其中提到了主题和页码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程