如何在Python中创建一个包含集合的字典?

如何在Python中创建一个包含集合的字典?

在本文中,我们将学习如何在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中的集合不允许重复项,即删除所有重复元素。

示例

以下示例显示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'}

在这里,

  • 字典 – 输入字典

  • 键 – 字典的键

  • 值 – 传递为集合的字典的值。

算法(步骤)

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

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

  • 使用defaultdict()方法,使用by-passing set作为参数创建一个空的字典集合。

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

  • 打印已创建的集合字典。

示例

以下程序使用defaultdict()函数在Python中创建一个字典集合——

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

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

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

# 给定字典的第二个键值对
dictionary["员工年龄"] |= {25, 30, 40, 35, 28}

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

输出

在执行上述程序后,将生成以下输出——

defaultdict(<class 'set'>, {'员工ID': {10, 11, 12, 14, 15}, '员工年龄': {35, 40, 25, 28, 30}})

方法3:使用setdefault()方法

字典中的键的值是由setdefault()方法返回的。如果没有,则在字典中插入一个键和值。

语法

dict.setdefault(key, default_value)

在这里,

  • key ——必须在字典中搜索的键。

  • default_value ——特定键的值

算法(步骤)

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

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

  • 使用setdefault()函数,通过将“员工ID”作为参数传递给它,作为输入字典的一个集合,以访问值。

  • 使用setdefault()函数,通过将“员工年龄”作为参数传递给它,作为输入字典的一个集合,以访问值。

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

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

示例

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

# 创建包含集合值的字典(集合的字典)
inputDict = {'员工ID': {10, 11, 12, 14, 15, 11}, '员工年龄': {25, 30, 40, 35, 28, 28}}

# 使用setdefault()函数,通过将“员工ID”作为参数传递给它,
#从字典的输入作为集合访问“员工ID”的值。
print("访问员工ID:", inputDict.setdefault('员工ID'))

# 使用setdefault()函数,通过将“员工年龄”作为参数传递给它,
#从字典的输入作为集合访问“员工年龄”的值。
print("访问员工年龄:", inputDict.setdefault('员工年龄'))

# 使用setdefault()方法为字典设置第3个集合——Employee名字
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'}

结论

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程