在 Python 中通过索引访问字典键
Access a dictionary key by index in Python
使用list()
该类按索引访问字典键,例如
key = list(my_dict)[0]
. 该类list()
会将字典转换为键列表,使我们能够访问特定索引处的键。
主程序
my_dict = { 'id': 1, 'name': 'Bobbyhadz', 'age': 30, } # ✅ access dictionary key by index key = list(my_dict)[1] print(key) # 👉️ name # ✅ access dictionary value by index value = list(my_dict.values())[1] print(value) # 👉️ Bobbyhadz # ------------------------------------- # ✅ find index of key in dictionary index = None if 'name' in my_dict: index = list(my_dict).index('name') print(index) # 👉️ 1
我们使用list()
该类将字典转换为键列表。
主程序
my_dict = { 'id': 1, 'name': 'Bobbyhadz', 'age': 30, } print(list(my_dict)) # 👉️ ['id', 'name', 'age'] print(list(my_dict.keys())) # 👉️ ['id', 'name', 'age']
我们也可以使用该dict.keys()
方法来更明确。
dict.keys方法返回字典键的
新视图。
最后一步是访问特定索引处的键列表。
主程序
my_dict = { 'id': 1, 'name': 'Bobbyhadz', 'age': 30, } key = list(my_dict)[1] print(key) # 👉️ name value = list(my_dict.values())[1] print(value) # 👉️ Bobbyhadz
Python 索引是从零开始的,因此列表中的第一项的索引为,最后一项的索引为或。
0
-1
len(my_list) - 1
list.index()
如果您需要获取字典中特定键的索引,请使用该方法。
主程序
my_dict = { 'id': 1, 'name': 'Bobbyhadz', 'age': 30, } index = None if 'name' in my_dict: index = list(my_dict).index('name') print(index) # 👉️ 1 key = list(my_dict)[index] print(key) # 👉️ name value = list(my_dict.values())[index] print(value) # 👉️ Bobbyhadz
该
list.index()
方法返回其值等于提供的参数的第一个项目的索引。ValueError
如果列表中没有这样的项目,该方法将引发一个。
我们使用if
语句来检查字典中是否存在键,因此该
list.index()
方法永远不会抛出ValueError
.
从 Python 3.7 开始,标准
dict
类保证保留键的插入顺序。如果您使用旧版本,请改用OrderedDict
该类。
主程序
from collections import OrderedDict my_dict = OrderedDict( [('id', 1), ('name', 'Bobbyhadz'), ('age', 30)] ) key = list(my_dict)[1] print(key) # 👉️ name value = list(my_dict.values())[1] print(value) # 👉️ Bobbyhadz index = None if 'name' in my_dict: index = list(my_dict).index('name') print(index) # 👉️ 1
该类list()
还可用于将 an 的键转换为OrderedDict
列表。
请注意,OrderedDict
仅当您使用早于 Python 3.7 的版本时才需要使用该类。
否则,请使用本机dict
类,因为它会保留插入顺序。