Python 中使用变量访问字典键
使用方括号使用变量访问字典键,例如 my_dict[variable]
。 如果变量是整数并且字典的键是字符串,则在访问键时将变量转换为字符串,例如 my_dict[str(variable)]
。
# 👇️ keys are strings
my_dict = {
'1': 'fql',
'2': 'jiyik'
}
# 👇️ variable is an integer
variable = 1
print(my_dict[str(variable)]) # 👉️ fql
# ---------------------------------
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com',
'address': {
'country': 'Example'
}
}
variable = 'site'
print(my_dict[variable]) # 👉️ jiyik.com
variable2 = 'address'
variable3 = 'country'
print(my_dict[variable2][variable3]) # 👉️ Example
我们使用括号符号来访问使用变量作为键的字典。
如果字典的键是字符串而变量是整数,则使用 str()
类将变量转换为字符串。
my_dict = {
'1': 'fql',
'2': 'jiyik'
}
variable = 1
print(my_dict[str(variable)]) # 👉️ fql
如果不将变量转换为字符串,则会出现 KeyError
。
my_dict = {
'1': 'fql',
'2': 'jiyik'
}
variable = 1
# ⛔️ KeyError: 1
print(my_dict[variable])
当我们使用方括号访问不存在的键时,会引发
KeyError
异常。
我们可以使用相同的方法使用变量作为键来访问嵌套字典。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com',
'address': {
'country': 'Example'
}
}
variable = 'site'
print(my_dict[variable]) # 👉️ jiyik.com
variable2 = 'address'
variable3 = 'country'
print(my_dict[variable2][variable3]) # 👉️ Example
或者,我们可以使用 dict.get()
方法。
my_dict = {
'1': 'fql',
'2': 'jiyik'
}
variable = 1
print(my_dict.get(str(variable))) # 👉️ fql
# ---------------------------------
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com',
'address': {
'country': 'Example'
}
}
variable = 'site'
print(my_dict.get(variable)) # 👉️ jiyik.com
如果键在字典中,则 dict.get
方法返回给定键的值,否则返回默认值。
该方法采用以下 2 个参数:
- key 要为其返回值的键
- default 如果字典中不存在提供的键,则返回默认值(可选)
如果未提供默认参数的值,则默认为 None,因此 get()
方法永远不会引发 KeyError
。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com',
}
variable = 'site'
print(my_dict.get(variable)) # 👉️ jiyik.com
variable2 = 'another'
print(my_dict.get(variable2)) # 👉️ None
print(my_dict.get(variable2, 'default value')) # 👉️ default value
在最后一个示例中,指定的键不存在,因此返回提供的默认值。
在 Python 中将字典键作为变量获取
获取字典键作为变量:
- 使用 for 循环遍历字典的项目。
- 将键分配给变量。
- 该变量将存储当前迭代的键。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
# ✅ 获取字典键和值作为变量
for key in my_dict:
# first_name Fql
# last_name Jiyik
# site jiyik.com
print(key, my_dict[key])
for key, value in my_dict.items():
# first_name Fql
# last_name Jiyik
# site jiyik.com
print(key, value)
# ✅ 获取特定的字典键作为变量
first_key = list(my_dict)[0]
print(first_key) # 👉️ first_name
# ✅ 获取特定字典值作为变量
first_value = list(my_dict.values())[0]
print(first_value) # 👉️ Fql
第一个示例使用 for
循环直接遍历字典。
key
变量存储当前迭代的键。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
for key in my_dict:
# first_name Fql
# last_name Jiyik
# site jiyik.com
print(key, my_dict[key])
如果需要访问相应的值,可以使用方括号。
我们还可以使用 dict.items()
方法将字典的键和值作为变量获取。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
for key, value in my_dict.items():
# first_name Fql
# last_name Jiyik
# site jiyik.com
print(key, value)
dict.items
方法返回字典项((键,值)对)的新视图。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
# 👇️ dict_items([('first_name', 'Fql'), ('last_name', 'Jiyik'), ('site', 'jiyik.com')])
print(my_dict.items())
在每次迭代中,键变量存储当前迭代的键,值变量存储相应的值。
如果我们需要将特定字典键存储在变量中,请将字典转换为键列表并访问其索引处的键。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
first_key = list(my_dict)[0]
print(first_key) # 👉️ first_name
first_value = list(my_dict.values())[0]
print(first_value) # 👉️ Fql
Python 索引是从零开始的,因此列表中的第一项的索引为 0,最后一项的索引为 -1 或 len(my_list) - 1
。
我们使用 list()
类将字典转换为键列表。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
print(list(my_dict)) # 👉️ ['first_name', 'last_name', 'site']
print(list(my_dict.keys())) # 👉️ ['first_name', 'last_name', 'site']
我们也可以使用 dict.keys()
方法来更明确。
dict.keys
方法返回字典键的新视图。
如果我们需要在变量中存储特定的字典值,请将字典的值转换为列表并访问其索引处的值。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
first_value = list(my_dict.values())[0]
print(first_value) # 👉️ Fql
dict.values
方法返回字典值的新视图。
my_dict = {
'first_name': 'Fql',
'last_name': 'Jiyik',
'site': 'jiyik.com'
}
# 👇️ dict_values(['Fql', 'Jiyik', 'jiyik.com'])
print(my_dict.values())
视图对象不可订阅(不能在索引处访问),因此我们必须在访问特定值之前将视图对象转换为列表。
相关文章
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串
在 Python Pandas 中使用 str.split 将字符串拆分为两个列表列
发布时间:2024/04/24 浏览次数:1124 分类:Python
-
本教程介绍如何使用 pandas str.split() 函数将字符串拆分为两个列表列。
在 Pandas 中将 Timedelta 转换为 Int
发布时间:2024/04/23 浏览次数:231 分类:Python
-
可以使用 Pandas 中的 dt 属性将 timedelta 转换为整数。
Python 中的 Pandas 插入方法
发布时间:2024/04/23 浏览次数:112 分类:Python
-
本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。
使用 Python 将 Pandas DataFrame 保存为 HTML
发布时间:2024/04/21 浏览次数:106 分类:Python
-
本教程演示如何将 Pandas DataFrame 转换为 Python 中的 HTML 表格。
如何将 Python 字典转换为 Pandas DataFrame
发布时间:2024/04/20 浏览次数:73 分类:Python
-
本教程演示如何将 python 字典转换为 Pandas DataFrame,例如使用 Pandas DataFrame 构造函数或 from_dict 方法。
如何在 Pandas 中将 DataFrame 列转换为日期时间
发布时间:2024/04/20 浏览次数:101 分类:Python
-
本文介绍如何将 Pandas DataFrame 列转换为 Python 日期时间。