在 Python 中从字典中获取单个值
Get a single value from a Dictionary in Python
从字典中获取单个值:
- 使用该
dict.values()
方法获取字典值的视图。 - 使用
list()
该类将视图转换为列表。 - 访问索引处的列表
0
以获取值。
主程序
my_dict = { 'site': 'bobbyhadz.com', } value = list(my_dict.values())[0] print(value) # 👉️ bobbyhadz.com key = list(my_dict)[0] print(key) # 👉️ site
dict.values方法返回字典
值的新视图。
主程序
my_dict = {'id': 1, 'name': 'bobbyhadz'} print(my_dict.values()) # 👉️ dict_values([1, 'bobbyhadz'])
但是,视图对象不可订阅(无法在特定索引处访问),因此我们必须将结果转换为列表。
主程序
my_dict = { 'site': 'bobbyhadz.com', } value = list(my_dict.values())[0] print(value) # 👉️ bobbyhadz.com
列表类接受一个可迭代对象并返回一个列表对象。
或者,您可以使用该next()
功能。
使用 next() 从字典中获取单个值
从字典中获取单个值:
- 使用该
dict.values()
方法获取字典值的视图。 - 使用该
iter()
函数从视图对象中获取迭代器。 - 使用该
next()
函数从字典中获取值。
主程序
my_dict = { 'site': 'bobbyhadz.com', } value = next( iter(my_dict.values()), None ) print(value) # 👉️ bobbyhadz.com key = next( iter(my_dict), None ) print(key) # 👉️ site
我们使用iter()
函数从视图对象中获取迭代器对象。
next()函数从提供的迭代器返回下一个项目。
该函数可以传递一个默认值作为第二个参数。
如果迭代器耗尽或为空,则返回默认值。
如果迭代器耗尽或为空且未提供默认值,则会引发异常。
StopIteration
我们使用None
默认值,但您可以使用适合您的用例的任何其他值。
主程序
my_dict = {} value = next( iter(my_dict.values()), None ) print(value) # 👉️ None key = next( iter(my_dict), None ) print(key) # 👉️ None
示例中的字典是空的,因此None
当我们尝试访问第一个值时返回。
或者,您可以将for
循环与break
.
使用 for 循环从字典中获取单个值
从字典中获取单个值:
- 使用该
dict.values()
方法获取字典值的视图。 - 使用
for
循环遍历视图对象。 - 将值分配给变量。
- 使用
break
语句退出循环。
主程序
my_dict = { 'site': 'bobbyhadz.com', } value = None for value in my_dict.values(): break print(value) # 👉️ bobbyhadz.com # ---------------------------------------- key = None for key in my_dict: break print(key) # 👉️ site
我们使用for
循环仅迭代一次并将值分配给变量。
break
语句跳出最内层的封闭或
for
循环while
。
break
如果您的字典只包含一个元素,则不必使用该语句。
您选择哪种方法是个人喜好的问题。我会将视图对象转换为列表,然后访问 index 处的列表项0
。