如何在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()函数来检索字典集合。