Python 程序对最小值键的分配

pythonserver side programmingprogramming更新于 2023/12/28 22:32:00

Python 中值键分配的含义是将值与字典中的特定键相关联的过程,从而允许基于键值对高效地检索和操作数据。它能够创建和组织结构化数据结构以用于各种目的

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

示例

假设我们采用了两个具有相同键的输入字典。我们现在将比较两个字典中每个键的值,并将其中的最小值分配给键,然后使用上述方法打印结果字典。

输入

inputDict_1 = {"hello": 2, "tutorialspoint": 10, "users": 3}
inputDict_2 = {"hello": 6, "tutorialspoint": 5, "users": 7}

输出

分配最小值键后的结果字典:
{'hello': 2, 'tutorialspoint': 5, 'users': 3}

在上述两个字典中,2 小于 6,因此我们为 hello 键分配了最小值2.

对于键 tutorialspoint,同样,10 大于 5,因此 5 是最小值。

对于 users 键,3 小于 7,因此 3 是最小值。

使用的方法

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

  • 使用字典理解、min() 和 items() 函数

  • 使用 dict()、min() 和 zip() 函数

方法 1:使用字典理解、min() 和 items() 函数

min() 函数(返回一个iterable)

items() 函数(返回一个视图对象,即它包含字典的键值对,作为列表中的元组)。

minimum_value = min(iterable)
items_list = dictionary.items()

算法(步骤)

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

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

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

  • 打印输入字典。

  • 使用 items() 遍历第一个字典函数。

  • 检查第一个字典键和第二个字典值的最小值(由于键是公共的,因此我们直接使用 [] 运算符获取它)。

  • 使用字典推导式存储具有最小值的公共键。

  • 分配最小值键后打印结果字典。

示例

以下程序在使用字典推导式、min() 和 items() 函数分配最小值键后返回一个字典

# 输入字典 1
inputDict_1 = {"hello": 2, "tutorialspoint": 10, "users": 3}
# 输入字典 2
inputDict_2 = {"hello": 6, "tutorialspoint": 5, "users": 7}
# 打印输入字典
print("输入字典 1: ", inputDict_1)
print("输入字典 2: ", inputDict_2)
# 从第一个和第二个字典中获取键的最小值。
# 使用字典推导式为它们分配公共键
resultantDict = {k: min(v, inputDict_2[k]) for k, v in inputDict_1.items()}
# 打印结果字典
print("分配最小值键后的结果字典:\n", resultantDict)

输出

输入字典 1:{'hello': 2, 'tutorialspoint': 10, 'users': 3}
输入字典 2:{'hello': 6, 'tutorialspoint': 5, 'users': 7}
分配最小值键后的结果字典:
{'hello': 2, 'tutorialspoint': 5, 'users': 3}

方法 2:使用 dict()、min() 和 zip() 函数

dict() 函数(转换为字典)

zip() 函数可用于组合两个列表/迭代器。

zip(*iterables)

算法(步骤)

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

  • 使用 zip 函数以组合方式在两个字典中迭代。

  • 使用 min() 函数查找键的最小值。

  • 分配最小值键后打印结果字典。

示例

以下程序在使用 dict()、min() 和 zip() 函数分配最小值键后返回一个字典

# 输入字典 1
inputDict_1 = {"hello": 2, "tutorialspoint": 10, "users":3}
# 输入字典 2
inputDict_2 = {"hello":6,"tutorialspoint":5,"users":7}
# 打印输入字典
print("输入字典 1:",inputDict_1)
print("输入字典 2:",inputDict_2)
# 通过将两个字典传入 zip() 函数来迭代它们。
# 使用 min() 函数获取这两个字典的最小值
resultantDict = dict([min(i, j) for i, j in zip(
inputDict_1.items(), inputDict_2.items())])
# 打印结果字典
print("分配最小值键后的结果字典:\n", resultantDict)

输出

输入字典 1:{'hello': 2, 'tutorialspoint': 10, 'users': 3}
输入字典 2:{'hello': 6, 'tutorialspoint': 5, 'users': 7}
分配最小值键后的结果字典:
{'hello': 2, 'tutorialspoint': 5, 'users': 3}

结论

在本文中,我们学习了两种不同的最小值键分配方法。此外,我们还学习了如何使用 zip 函数将两个字典或可迭代对象中的迭代组合起来。最后,我们学习了如何应用一些字典操作并使用字典推导在字典中进行迭代。


相关文章