如何在 Python 中索引字典

如何在 Python 中索引字典

How to index a dictionary in Python

使用list()该类来索引字典,例如list(my_dict)[0]and
list(my_dict.values())[0]该类list()将字典或字典的值转换为我们可以在特定索引处访问的列表。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } # ✅ get key in dictionary by index key = list(my_dict)[0] print(key) # 👉️ site # ✅ get value in ditionary by index value = list(my_dict.values())[0] print(value) # 👉️ bobbyhadz.com # -------------------------------------- # ✅ get index of key in dictionary index = None if 'site' in my_dict: index = list(my_dict).index('site') print(index) # 👉️ 0

我们使用list()该类来索引字典。

该类list()将字典转换为键列表。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } print(list(my_dict)) # 👉️ ['site', 'color', 'number'] print(list(my_dict.keys())) # 👉️ ['site', 'color', 'number']

我们也可以使用该dict.keys()方法来更明确。

dict.keys方法返回字典键的
新视图。

最后一步是访问特定索引处的键列表。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } key = list(my_dict)[0] print(key) # 👉️ site
Python 索引是从零开始的,因此列表中的第一项的索引为,最后一项的索引为 0-1 len(my_list) - 1

如果您需要获取字典中特定索引处的值,请将调用结果传递dict.values()list()类。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } value = list(my_dict.values())[0] print(value) # 👉️ bobbyhadz.com

dict.values方法返回字典
值的新视图。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } # 👇️ dict_values(['bobbyhadz.com', 'blue', 100]) print(my_dict.values())

dict.values()方法返回一个不可订阅的视图对象(无法通过索引访问),因此我们仍然必须将其转换为列表。

list.index()如果您需要获取字典中特定键或值的索引,请使用该方法。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } index = None if 'site' in my_dict: index = list(my_dict).index('site') print(index) # 👉️ 0
list.index()方法返回其值等于提供的参数的第一个项目的索引。

ValueError如果列表中没有这样的项目,该方法将引发一个。

我们使用if语句来检查字典中是否存在键,因此该
list.index()方法永远不会抛出ValueError.

您可以使用相同的方法获取字典中值的索引。

主程序
my_dict = { 'site': 'bobbyhadz.com', 'color': 'blue', 'number': 100 } index = None dict_values = my_dict.values() if 'bobbyhadz.com' in dict_values: index = list(dict_values).index('bobbyhadz.com') print(index) # 👉️ 0
从 Python 3.7 开始,标准dict类保证保留键的插入顺序。

如果您使用旧版本,请改用OrderedDict该类。

主程序
from collections import OrderedDict my_dict = OrderedDict( [('site', 'bobbyhadz.com'), ('color', 'blue'), ('number', 100)] ) key = list(my_dict)[0] print(key) # 👉️ site value = list(my_dict.values())[0] print(value) # 👉️ bobbyhadz.com # -------------------------------------- index = None if 'site' in my_dict: index = list(my_dict).index('site') print(index) # 👉️ 0

该类list()还可用于将 an 的键转换为OrderedDict列表。

请注意,OrderedDict仅当您使用早于 Python 3.7 的版本时才需要使用该类。

否则,请使用本机dict类,因为它会保留插入顺序。

发表评论