使用最大元素索引分配键的 Python 程序

pythonserver side programmingprogramming更新于 2023/12/29 0:16:00

在 Python 中,元素索引是指元素在序列(例如列表或字符串)中的位置。它表示元素的位置,第一个元素从 0 开始,每个后续元素递增 1。使用最大元素索引分配键意味着将唯一标识符或标签与序列中可能的最大索引值相关联。这种方法允许使用分配的键根据元素的位置轻松访问和检索元素。

示例

假设我们已经获取了一个输入字典。我们现在将在每个键的值中找到最大元素,并将其索引分配给该键,然后使用上述方法打印结果字典。

输入

inputDict = {'hello': [4, 2, 8],
			'tutorialspoint': [5, 12, 10],
			'python': [9, 3, 7],
			'users': [3, 6, 1]}

输出

Resultant dictionary after assigning keys with maximum element index:
 {'hello': 2, 'tutorialspoint': 1, 'python': 0, 'users': 1}

在上述输入字典中,键 hello 的最大元素为 8,其索引为 2。因此,将最大元素的索引分配给键 hello,即 2,其他元素也是如此,然后打印结果字典。

hello: 最大元素为 8 –> 索引为 2

'tutorialspoint': 最大元素为 12 –> 索引为 1

'python': 最大元素为 9 –> 索引为 0

'users': 最大元素为 6 –> index 为 1

index() 函数

index() 函数返回所提供值首次出现的位置。

语法

list.index(element)

max() 函数

max() 函数返回可迭代对象中值最高的项/最大数字。

算法(步骤)

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

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

  • 打印输入字典。

  • 使用 dict() 函数创建一个空字典,用于存储结果字典。

  • 使用 for 循环 遍历输入字典的键。

  • 获取字典键中最大元素的索引,并将相同键与最大元素索引一起存储。

  • 为每个键分配最大元素索引后打印结果字典。

示例 1:使用 for 循环、index() 和 max() 函数

以下程序在使用 for 循环、index() 和 max() 为输入字典的每个键分配最大元素索引后返回一个字典函数 

示例

# 输入字典
inputDict = {'hello': [4, 2, 8],
             'tutorialspoint': [5, 12, 10],
             'python': [9, 3, 7],
             'users': [3, 6, 1]}
# 打印输入字典
print("输入字典:\n", inputDict)
# 空字典用于存储结果字典
resultantDict = dict()
# 遍历输入字典的键
for k in inputDict:
    # 获取最大元素索引
    # 将其存储为同一键的值
    resultantDict[k] = inputDict[k].index(max(inputDict[k]))
# 打印结果字典
print("分配具有最大元素索引的键后的结果字典:\n", resultantDict)

输出

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

输入字典:
{'hello': [4, 2, 8], 'tutorialspoint': [5, 12, 10], 'python': [9, 3, 7], 'users': [3, 6, 1]}
为键分配最大元素索引后的结果字典:
{'hello': 2, 'tutorialspoint': 1, 'python': 0, 'users': 1}

示例 2:使用字典理解、index() 和 max() 函数

在此示例中,我们使用字典理解,它是上述 for 循环的快捷版本。

以下程序在使用字典理解、index() 和 max() 函数为输入字典的每个键分配最大元素索引后返回一个字典

示例

# 输入字典
inputDict = {'hello': [4, 2, 8],
             'tutorialspoint': [5, 12, 10],
             'python': [9, 3, 7],
             'users': [3, 6, 1]}
# 打印输入字典
print("输入字典:\n", inputDict)
# 使用字典推导式执行相同操作,以获得简洁的语法
resultantDict = {k: inputDict[k].index(max(inputDict[k])) for k in inputDict}
# 打印结果字典
print("将 ks 分配为最大元素索引后的结果字典:\n",
resultantDict)

输出

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

输入字典:
{'hello': [4, 2, 8], 'tutorialspoint': [5, 12, 10], 'python': [9, 3, 7], 'users': [3, 6, 1]}
将 ks 分配为最大元素索引后的结果字典:
{'hello': 2, 'tutorialspoint': 1, 'python': 0, 'users': 1}

结论

在本文中,我们学习了两种不同的方法来分配具有最大元素索引的键。我们学习了如何找到字典中值最高的元素及其索引。最后,我们学习了如何使用字典理解来实现简洁的语法。


相关文章