如何在 Python 中创建集合字典?

pythonserver side programmingprogramming更新于 2024/1/7 16:06:00

在本文中,我们将学习如何在 Python 中创建集合字典。

使用的方法

以下是用于完成此任务的各种方法 -

  • 使用朴素方法

  • 使用 defaultdict() 方法

  • 使用 setdefault() 方法

方法 1:使用朴素方法

在此方法中,我们通过将集合作为值传递给键来创建集合字典。

语法

{ 'Key': Set 1, 'Key':Set 2,…………..,'Key': Set n}

算法(步骤)

以下是执行所需任务所要遵循的算法/步骤。 −

  • 创建一个变量,将包含值的字典存储为没有重复元素的集合(即集合字典)。

  • 打印输入的集合字典。

示例

以下程序使用朴素方法在 python 中创建一个集合字典(没有重复项)−

# 创建一个包含值的字典作为集合
# 没有重复元素
#(集合字典)
inputDict = {'Employ ID': {10, 11, 12, 14, 15},
'Employ Age': {25, 30, 40, 35, 28}}

# 打印输入的字典集合
print(inputDict)

输出

执行时,上述程序将生成以下输出 -

{'Employ ID': {10, 11, 12, 14, 15}, 'Employ Age': {35, 40, 25, 28, 30}}

创建具有重复项的集合

一般来说,python 中的 set 不允许 重复,即删除所有重复的元素。

示例

以下示例显示 python 集合不允许重复。

以下程序使用朴素方法在 python 中创建一个集合字典(包含重复项)-

# 创建一个包含值的字典作为集合
# 包含重复元素
# 集合不允许重复
inputDict = {'Employ ID': {10, 11, 12, 13, 13, 14, 15, 10, 12, 11},
'Employ Age': {25, 30, 30, 40, 25, 35, 40, 28, 33, 25}}

# 打印输入字典
print(inputDict)

输出

执行时,上述程序将生成以下输出 -

{'Employ ID': {10, 11, 12, 13, 14, 15}, 'Employ Age': {33, 35, 40, 25, 28, 30}}

在上面的例子中,我们可以观察到所有重复项都被删除,并且只打印了唯一的元素。因此证明了python集合删除不允许重复。

方法2:使用defaultdict()方法

在此方法中,将创建默认集并将键值对传递给它。

语法

defaultdict(set)

传递带有键和值的字典-

dictionary["key"] |= {'value1', 'value2′, ……………,'value n'}

这里,

  • dictionary - 输入字典

  • key - 字典的键

  • value - 传递为的字典的值设置。

算法(步骤)

以下是执行所需任务需要遵循的算法/步骤。 −

  • 使用 import 关键字从 collections 模块导入 defaultdict

  • 使用 defaultdict() 方法,通过将传递的集合作为参数来创建空字典集。

  • 使用 [] 运算符为字典提供 键值对

  • 打印创建的集合字典。

示例

以下程序使用 defaultdict() 函数在 python 中创建集合字典 −

# 从 collections 模块导入 defaultdict
from collections import defaultdict

# 使用 defaultdict() 方法通过将集合作为参数传递给来创建空字典集
# it
dictionary = defaultdict(set)

# 给出字典的第一个键值对
dictionary["Employ ID"] |= {10, 11, 12, 14, 15}

# 给出字典的第二个键值对
dictionary["Employ Age"] |= {25, 30, 40, 35, 28}

# 打印创建的集合字典
print(dictionary)

输出

执行时,上述程序将生成以下输出 -

defaultdict(<class 'set'>, {'Employ ID': {10, 11, 12, 14, 15}, 'Employ Age': {35, 40, 25, 28, 30}})

方法 3:使用 setdefault() 方法

setdefault() 方法返回字典中键的值。如果没有,则将键和值插入字典中。

语法

dict.setdefault(key, default_value)

此处,

  • key − 这是必须在字典中搜索的键。

  • default_value − 这是特定键的值

算法(步骤)

以下是执行所需任务所要遵循的算法/步骤。 −

  • 创建一个变量,将包含值的输入字典存储为一个没有重复元素的集合(即集合字典)。

  • 使用 setdefault() 函数,通过将 'Employ ID' 作为参数传递给它,将 'Employ ID' 的值作为输入字典的集合来访问。

  • 使用 setdefault() 函数,通过将 'Employ Age' 作为参数传递给它,将 'Employ Age' 的值作为输入字典的集合来访问。

  • 使用 setdefault() 方法创建一个新的键值对,并将值设置为集合。

  • 添加第三个后打印结果字典集合。

示例

以下程序创建一个集合字典并使用 setdefault() 方法访问其元素 −

# 创建一个包含集合值的字典
# (集合字典)
inputDict = {'Employ ID': {10, 11, 12, 14, 15, 11},
'Employ Age': {25, 30, 40, 35, 28, 28}}

# 将字典中"Employ ID"的值作为集合访问
# 使用 setdefault() 函数
print("访问雇员 ID:", inputDict.setdefault('Employ ID'))

# 将字典中"Employ Age"的值作为集合访问
# 使用 setdefault() function
print("访问雇员年龄:", inputDict.setdefault('雇员年龄'))

# 使用 setdefault 方法为字典设置第三组值
# 员工姓名
inputDict = inputDict.setdefault(
'雇员姓名', {'rohit', 'virat', 'pandya', 'smith', 'warner'})

# 添加第三组后打印字典
print(inputDict)

输出

执行时,上述程序将生成以下输出 -

访问雇员 ID:{10, 11, 12, 14, 15}
访问雇员年龄:{35, 40, 25, 28, 30}
{'pandya', 'rohit', 'smith', 'virat', 'warner'}

结论

在本文中,我们学习了如何使用 3 种不同的方法在 Python 中创建集合字典。这对于删除某些键的重复数据是必要的,例如仅保留唯一的卷号、唯一的工作 ID 等。我们还学习了如何使用 setdefault() 函数来检索集合字典。


相关文章