Python程序:为具有最大元素索引的键赋值


在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 -> 索引是 1

index() 函数

index() 函数返回提供的值在第一次出现时的位置。

语法

list.index(element)

max() 函数

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

算法(步骤)

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

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

  • 打印输入字典。

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

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

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

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

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

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

示例

# input dictionary
inputDict = {'hello': [4, 2, 8],
             'tutorialspoint': [5, 12, 10],
             'python': [9, 3, 7],
             'users': [3, 6, 1]}
# printing input dictionary
print("Input dictionary:\n", inputDict)
# empty dictionary for storing a resultant dictionary
resultantDict = dict()
# traversing through the keys of the input dictionary
for k in inputDict:
	# Getting the maximum element index 
    # Storing it as a value for the same key
    resultantDict[k] = inputDict[k].index(max(inputDict[k]))
# printing resultant dictionary
print("Resultant dictionary after assigning keys with maximum element index:\n", resultantDict)

输出

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

Input dictionary:
 {'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}

示例 2:使用字典推导式、index() 和 max() 函数

在这个例子中,我们使用字典推导式,它是上面 for 循环的简写版本。

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

示例

# input dictionary
inputDict = {'hello': [4, 2, 8],
             'tutorialspoint': [5, 12, 10],
             'python': [9, 3, 7],
             'users': [3, 6, 1]}
# printing input dictionary
print("Input dictionary:\n", inputDict)
# Performing same using dictionary comprehension for concise syntax
resultantDict = {k: inputDict[k].index(max(inputDict[k])) for k in inputDict}
# printing resultant dictionary
print("Resultant dictionary after assigning ks with maximum element index:\n",
      resultantDict)

输出

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

Input dictionary:
 {'hello': [4, 2, 8], 'tutorialspoint': [5, 12, 10], 'python': [9, 3, 7], 'users': [3, 6, 1]}
Resultant dictionary after assigning ks with maximum element index:
 {'hello': 2, 'tutorialspoint': 1, 'python': 0, 'users': 1}

结论

在本文中,我们学习了两种不同的方法来为具有最大元素索引的键赋值。我们学习了如何找到字典中最高值的元素及其索引。最后,我们学习了如何使用字典推导式来编写简洁的语法。

更新于:2023年8月17日

79 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告