迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中使用变量访问字典键

作者:迹忆客 最近更新:2023/01/13 浏览次数:

使用方括号使用变量访问字典键,例如 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

Python 中使用变量访问字典键

我们使用括号符号来访问使用变量作为键的字典。

如果字典的键是字符串而变量是整数,则使用 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])

Python 中 KeyError

当我们使用方括号访问不存在的键时,会引发 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 中将字典键作为变量获取

获取字典键作为变量:

  1. 使用 for 循环遍历字典的项目。
  2. 将键分配给变量。
  3. 该变量将存储当前迭代的键。
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

在 Python 中将字典键作为变量获取

第一个示例使用 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,最后一项的索引为 -1len(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 dict values 方法返回字典值的新视图

视图对象不可订阅(不能在索引处访问),因此我们必须在访问特定值之前将视图对象转换为列表。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 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 浏览次数:193 分类:Python

本文介绍了整数规划和可用于解决混合整数规划问题的 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 文档转换为文本文件。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便