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

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

在这篇文章中,我们将学习如何在 Python 中创建一个集合的字典。

使用的方法

下面是用于完成这项任务的各种方法

  • 使用 Naive 方法

  • 使用defaultdict()方法

  • 使用 setdefault() 方法

方法1:使用Naive方法

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

语法

{ ‘Key’: Set 1, ‘Key’:Set 2,…………..,’Key’: Set n}

算法(步骤)

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

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

  • 打印输入的集合字典。

例子

下面的程序使用 Naive 方法在 python 中创建了一个集合的字典(没有重复):

# creating a dictionary containing the values as set 
# without duplicate elements
# (dictionary of sets)
inputDict = {'Employ ID': {10, 11, 12, 14, 15},
      'Employ Age': {25, 30, 40, 35, 28}}

# printing the input dictionary of sets
print(inputDict)

输出

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

创建一个有重复的集合

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

例子

下面的例子表明,Python 集合是不允许重复的。

下面的程序使用Naive方法在Python中创建了一个集合的字典(包含重复的)。

# creating a dictionary containing the values as set
# with duplicates elements 
# the set does not allow duplicates 
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}}

# printing the input dictionary
print(inputDict)

输出

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

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

方法2:使用defaultdict()方法

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

语法

defaultdict(set)

传递带有 key 和 value 的 dictionary —

dictionary[“key”] |= {‘value1’, ‘value2′, ……………,’value n’}

这里。

  • dictionary – 输入的 dictionary

  • key – 一个字典的键

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

算法(步骤)

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

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

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

  • 使用 [] 操作符给出字典的 key-value 对

  • 打印创建的集合字典。

例子

下面的程序使用 defaultdict() 函数在 python 中创建了一个集合的 dictionary —

# importing defaultdict from the collections module
from collections import defaultdict

# creating an empty set of the dictionary using the
# defaultdict() method by passing set as argument to it
dictionary = defaultdict(set)

# giving the first key-value pair of a dictionary
dictionary["Employ ID"] |= {10, 11, 12, 14, 15}

# giving the second key-value pair of a dictionary
dictionary["Employ Age"] |= {25, 30, 40, 35, 28}

# printing the created dictionary of sets
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() 方法设置的值。

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

例子

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

# creating a dictionary containing the values as sets
# (dictionary of sets)
inputDict = {'Employ ID': {10, 11, 12, 14, 15, 11},
             'Employ Age': {25, 30, 40, 35, 28, 28}}

# accessing the values of 'Employ ID' of the dictionary as a set
# using setdefault() function
print("Accessing Employ ID:", inputDict.setdefault('Employ ID'))

# accessing the values of 'Employ Age' of dictionary as a set
# using setdefault() function
print("Accessing Employ Age:", inputDict.setdefault('Employ Age'))

# set the third set of values for the dictionary using setdefault method
# Employee names
inputDict = inputDict.setdefault(
   'Employ Name', {'rohit', 'virat', 'pandya', 'smith', 'warner'})

# printing the dictionary after adding 3rd set
print(inputDict)

输出

Accessing Employ ID: {10, 11, 12, 14, 15}
Accessing Employ Age: {35, 40, 25, 28, 30}
{'pandya', 'rohit', 'smith', 'virat', 'warner'}

总结

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程