📜  Python|字典中的关键索引

📅  最后修改于: 2022-05-13 01:54:35.314000             🧑  作者: Mango

Python|字典中的关键索引

字典的概念与C++ 语言中的map 数据结构的概念类似,但字典中的键与它的排序无关,即它不像C++ 中的键是内部排序的那样不排序。这带来了一个问题,我们可能必须在字典中找到键的确切位置。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + enumerate()
上述功能的组合可以执行此特定任务。在这种情况下,首先将字典转换为对元组,然后检查作为键的元组的第一个元素是否有索引。

# Python3 code to demonstrate working of
# Key index in Dictionary
# Using list comprehension + enumerate()
  
# initializing dictionary
test_dict = {'all' : 1, 'food' : 2, 'good' : 3, 'have' : 4}
  
# initializing search key string
search_key = 'good'
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Using list comprehension + enumerate()
# Key index in Dictionary
temp = list(test_dict.items()) 
res = [idx for idx, key in enumerate(temp) if key[0] == search_key]
  
# printing result 
print("Index of search key is : " + str(res))
输出 :
The original dictionary is : {'have': 4, 'all': 1, 'good': 3, 'food': 2}
Index of search key is : [2]

方法 #2:使用list() + keys() + index()
上述功能的组合也可用于执行此特定任务。在此,字典键首先转换为列表,然后使用index方法找到所需的键。

# Python3 code to demonstrate working of
# Key index in Dictionary
# Using list() + keys() + index()
  
# initializing dictionary
test_dict = {'all' : 1, 'food' : 2, 'good' : 3, 'have' : 4}
  
# initializing search key string
search_key = 'good'
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Using list() + keys() + index()
# Key index in Dictionary
res = list(test_dict.keys()).index(search_key)
  
# printing result 
print("Index of search key is : " + str(res))
输出 :
The original dictionary is : {'food': 2, 'have': 4, 'good': 3, 'all': 1}
Index of search key is : 2