Python程序:从字典值创建集合
在Python中,字典是一种被称为关联数组的数据结构的实现。字典由一组键值对组成。每个键值组合对应一个键及其对应的值。
在本文中,我们将学习如何在python中将字典值转换为集合。
使用的方法
以下是完成此任务的各种方法
使用生成器表达式和{}
使用values()和set()函数
使用Counter()函数
示例
假设我们已经获取了一个输入字典。我们现在将提取字典的所有值,然后将这些值转换为集合。
输入
inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5}
输出
{10, 5, 15}
在上面的示例中,输入字典的(5, 10, 15, 5)值被提取并转换为集合。在转换为集合时,所有重复项都被删除。
因此,删除所有重复值后,输出为{10, 5, 15}。
使用生成器表达式和{}
在这里,我们使用生成器表达式来获取所有值,而{}运算符负责删除重复项并转换为集合。
算法(步骤)
以下是执行所需任务的算法/步骤。
创建一个变量来存储输入字典。
打印输入字典。
遍历输入字典,并使用生成器表达式和{}将输入字典的值转换为集合。
打印将输入字典的值转换为集合后的结果集合。
示例
以下程序使用生成器表达式和{}将输入字典的值转换为集合后返回一个集合:
# input dictionary inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5} # printing input dictionary print("Input dictionary:\n", inputDict) # {} operator is used to convert to set # converting the values of the input dictionary to set resultantSet = {inputDict[i] for i in inputDict} # printing resultant set after converting values of input dictionary to set print("Resultant set with values of input dictionary:", resultantSet)
输出
执行上述程序后,将生成以下输出:
Input dictionary: {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5} Resultant set with values of input dictionary: {10, 5, 15}
使用values()和set()函数
在此方法中,我们将使用Python的values()和set()函数的组合来从字典值转换集合。这里的set()函数创建一个集合对象。集合列表将以随机顺序出现,因为项目是无序的。它删除所有重复项。dict.values()函数提供一个视图对象,按插入顺序显示字典中所有值。
算法(步骤)
以下是执行所需任务的算法/步骤。
使用values()函数获取输入字典的所有值,并使用set()函数将其转换为集合。set()函数还会删除所有重复项。
打印将输入字典的值转换为集合后的结果集合。
示例
以下程序使用values()和set()函数将输入字典的值转换为集合后返回一个集合:
# input dictionary inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5} # printing input dictionary print("Input dictionary:\n", inputDict) # getting the values of the input dictionary and converting them into a set # set() function also removes all duplicates resultantSet = set(inputDict.values()) # printing resultant set after converting values of input dictionary to set print("Resultant set with values of input dictionary:", resultantSet)
输出
执行上述程序后,将生成以下输出:
Input dictionary: {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5} Resultant set with values of input dictionary: {10, 5, 15}
使用Counter()函数
在此方法中,我们将使用Python中的counter()函数将字典值转换为集合。这里,Counter()函数是一个子类,用于计数可散列的对象。当调用/调用时,它隐式地创建一个可迭代对象的哈希表。Counter()函数用于获取输入字典值的频率。
算法(步骤)
以下是执行所需任务的算法/步骤。
使用import关键字从collections模块导入Counter函数。
创建一个变量来存储输入字典。
打印输入字典。
使用values()函数获取输入字典的值,并使用Counter()函数获取这些值的频率作为键值对。
使用keys()函数从上述值的频率中获取键,并使用list()函数将其转换为列表(将序列/可迭代对象转换为列表)。
使用set()函数将结果值列表转换为集合。
打印将输入字典的值转换为集合后的结果集合。
示例
以下程序使用Counter()函数将输入字典的值转换为集合后返回一个集合:
# importing Counter from collections module from collections import Counter # input dictionary inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5} # printing input dictionary print("Input dictionary:\n", inputDict) # getting the frequency of values of input dictionary as key-value pairs valuesFrequency = Counter(inputDict.values()) # getting the keys from the frequency of the above values and converting them into a list resultantList = list(valuesFrequency.keys()) # converting the result values list into a set resultantSet = set(resultantList) # printing resultant set after converting values of input dictionary to set print("Resultant set with values of input dictionary:", resultantSet)
输出
执行上述程序后,将生成以下输出:
Input dictionary: {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5} Resultant set with values of input dictionary: {10, 5, 15}
结论
本文介绍了三种不同的方法来构建字典值的集合。我们学习了如何使用内置方法(如{}运算符和set()函数)将数据转换为集合。我们还学习了如何使用Counter()函数,在这种情况下,它与set()函数执行相同的函数,以从可迭代对象中获取所有唯一值。