Python 程序从字典值进行设置

pythonserver side programmingprogramming

在 Python 中,字典是一种称为关联数组的数据结构的实现。字典由一组键值对组成。每个键值组合对应一个键及其对应的值。

在本文中,我们将学习如何在 Python 中将字典值转换为集合。

使用的方法

以下是完成此任务的各种方法:

  • 使用生成器表达式和 {}

  • 使用 values() 和 set() 函数

  • 使用 Counter() 函数

示例

假设我们已经获取了一个输入字典。我们现在将提取字典中的所有值,然后将这些值转换为一个集合。

输入

inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5}

输出

{10, 5, 15}

在上面的例子中,输入字典(5, 10, 15, 5)的值被提取并转换为一个集合。转换为集合时,所有重复项都会被删除。

因此,删除所有重复值后,输出为 {10, 5, 15>

使用生成器表达式和 {}

在这里,我们使用生成器表达式来获取所有值,而 {} 运算符负责删除重复项并转换为集合。

算法(步骤)

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

  • 创建一个变量来存储输入字典

  • 打印输入字典。

  • 遍历输入字典并使用生成器表达式和 {} 将输入字典的值转换为集合。

  • 将输入字典的值转换为集合后,打印结果集。

示例

以下程序使用生成器表达式和 {} 将输入字典的值转换为集合后返回一个集合 –

# 输入字典
inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5}
# 打印输入字典
print("输入字典:\n", inputDict)
# 使用 {} 运算符转换为集合
# 将输入字典的值转换为集合
resultantSet = {inputDict[i] for i in inputDict}
# 将输入字典的值转换为集合后打印结果集
print("结果集包含输入字典的值:", resultantSet)

输出

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

输入字典:
{'hello': 5, 'tutorialspoint': 10, 'users': 15,'python':5}
结果集,输入字典的值:{10, 5, 15}

使用 values() 和 set() 函数

在此方法中,我们将使用 python 的 values() 和 set() 函数组合从字典值中转换集合。这里 set() 函数创建一个集合对象。集合列表将以随机顺序出现,因为项目没有排序。它会删除所有重复项。dict.values() 函数提供了一个视图对象,该对象按插入顺序显示字典中所有值的列表。

算法(步骤)

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

  • 使用 values() 函数获取输入字典的所有值,并使用 set() 函数将它们转换为集合。set() 函数还会删除所有重复项。

  • 将输入字典的值转换为集合后,打印结果集合。

示例

以下程序在使用 values() 和 set() 函数将输入字典的值转换为集合后返回一个集合 –

# 输入字典
inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5}

# 打印输入字典
print("输入字典:\n", inputDict)

# 获取输入字典的值并将它们转换为集合
# set() 函数还会删除所有重复项
resultantSet = set(inputDict.values())

# 将输入字典的值转换为集合后打印结果集
print("结果集包含输入字典的值:", resultantSet)

输出

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

输入字典:
{'hello': 5, 'tutorialspoint': 10, 'users': 15,'python':5}
结果集包含输入字典的值:{10, 5, 15}

使用 Counter() 函数

在此方法中,我们将使用 Python 中的 counter() 函数将集合从字典值转换。这里,Counter() 函数是一个计算可哈希对象的子类。它在调用时隐式创建一个可迭代对象的哈希表。Counter() 函数用于获取输入字典值的频率。

算法(步骤)

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

  • 使用 import 关键字从 collections 模块导入 Counter 函数。

  • 创建一个变量来存储输入字典

  • 打印输入字典。

  • 使用 values() 函数获取输入字典的值,并使用 Counter() 函数获取这些值的频率作为键值对。

  • 使用 keys() 函数从上述值的频率中获取键,并使用 list() 函数将它们转换为列表(将序列/可迭代对象转换为列表)。

  • 使用 set() 函数将结果值列表转换为集合。

  • 转换后打印结果集输入字典的值进行设置。

示例

以下程序在使用 Counter() 函数将输入字典的值转换为设置后返回一个集合 –

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

# 输入字典
inputDict = {'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5}

# 打印输入字典
print("输入字典:\n", inputDict)

# 获取输入字典值的频率作为键值对
valuesFrequency = Counter(inputDict.values())

# 从上述值的频率中获取键并将其转换为列表
resultantList = list(valuesFrequency.keys())

# 将结果值列表转换为集合
resultantSet = set(resultantList)

# 将输入字典值转换为集合后打印结果集
print("包含输入字典值的结果集:", resultantSet)

输出

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

输入字典:
{'hello': 5, 'tutorialspoint': 10, 'users': 15, 'python': 5}
包含输入字典值的结果集:{10, 5, 15}

结论

本文教我们三种不同的方法来构建字典值集。我们学习了如何使用内置方法(如 {} 运算符和 set() 函数)将数据转换为集合。我们还学习了如何利用 Counter() 函数(在本例中执行与 set() 相同的功能)从可迭代对象中获取所有唯一值。


相关文章