在 Python 中按索引访问字典键

使用 list() 类按索引访问字典键,例如 key = list(my_dict)[0]。 list() 类将字典转换为键列表,使我们能够访问特定索引处的键。

my_dict = {
    'id': 1,
    'name': 'zadmei',
    'age': 30,
}


# ✅ 按索引访问字典键
key = list(my_dict)[1]
print(key)  # 👉️ name

# ✅ 按索引访问字典值
value = list(my_dict.values())[1]
print(value)  # 👉️ zadmei

# -------------------------------------

# ✅ 在字典中查找键的索引

index = None

if 'name' in my_dict:
    index = list(my_dict).index('name')

print(index)  # 👉️ 1

在 Python 中按索引访问字典键

我们使用 list() 类将字典转换为键列表。

my_dict = {
    'id': 1,
    'name': 'zadmei',
    'age': 30,
}

print(list(my_dict))  # 👉️ ['id', 'name', 'age']

print(list(my_dict.keys())) # 👉️ ['id', 'name', 'age']

在 Python 中按索引访问字典键

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

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

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

my_dict = {
    'id': 1,
    'name': 'zadmei',
    'age': 30,
}


key = list(my_dict)[1]
print(key) # 👉️ name

value = list(my_dict.values())[1]
print(value) # 👉️ zadmei

Python 索引是从零开始的,因此列表中的第一项的索引为 0,最后一项的索引为 -1 或 len(my_list) – 1。

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

my_dict = {
    'id': 1,
    'name': 'zadmei',
    '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)  # 👉️ zadmei

list.index() 方法返回值等于提供的参数的第一项的索引。

如果列表中没有此类项目,该方法将引发 ValueError。

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

从 Python 3.7 开始,标准 dict 类保证保留键的插入顺序。

如果我们使用旧版本,请改用 OrderedDict 类。

from collections import OrderedDict

my_dict = OrderedDict(
    [('id', 1), ('name', 'zadmei'), ('age', 30)]
)

key = list(my_dict)[1]
print(key)  # name

value = list(my_dict.values())[1]
print(value)  # zadmei

index = None

if 'name' in my_dict:
    index = list(my_dict).index('name')

print(index)

在 Python 中按索引访问字典键

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

注意 ,仅当我们使用 Python 3.7 之前的版本时才需要使用 OrderedDict 类。

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