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())
视图对象不可订阅(不能在索引处访问),因此我们必须在访问特定值之前将视图对象转换为列表。
相关文章
在 C 语言中实现字典
发布时间:2023/05/07 浏览次数:196 分类:C语言
-
本文介绍了如何在 C 语言中实现字典。使用 hcreate、hsearch 和 hdestroy 在 C 语言中实现字典功能
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。