python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > 用值获取Python字典的键

如何用值获取Python字典的键问题

作者:土谷祠房客

这篇文章主要介绍了如何用值获取Python字典的键问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

用值获取Python字典的键

python字典的操作中,用键值对的键获取值的方法还是比较简单的,

例如:

d = {1:'a', 2:'a', 3:'b', 5:'c'}
print(d[5])

输出结果为:

c

但由于值在字典中并不唯一,所以,查询值对应的键则颇费周章,下面是一个由值查键的函数,得出的对应输入值的键的列表:

def get_keys_by_value(the_dict, the_value):
	rl = list()
	for k in the_dict.keys():
		if the_dict[k] == the_value:
			rl.append(k)
	return rl
if __name__ == "__main__":
	d = {1:'a', 2:'a', 3:'b', 8:'f'}
	print('the keys are: ', get_keys_by_value(d, 'a'))

函数get_keys_by_value的第一个参数(the_dict)是函数操作的字典对象,第二个参数(the_value)是要查询的值,返回参数是对应的键,由于对应的键可能不止一个,因此返回值的类型是一个列表。

运行的结果为:

======================== RESTART: C:/Users/luh/kk.py ========================
the keys are:  [1, 2]
>>> 

在编程中,需要通过值查找键的时候,我们一般使用这个函数。

python字典取值的几种方法

Python 字典(dictionary)是一种可变容器模型,可以存储任意数量的任意类型的数据。字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔。字典通常用于存储键值对的数据,例如在数据库中存储记录。

以下是 Python 字典取值的几种方法及其代码演示:

方法一:使用方括号 [ ] 运算符

使用方括号[ ]运算符可以通过键来获取字典中对应的值。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 获取字典中 "name" 键对应的值
value = my_dict["name"]
print(value)  # 输出:Tom  

方法二:使用get()方法

使用get()方法可以通过键来获取字典中对应的值,如果键不存在,则返回None。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 获取字典中 "name" 键对应的值
value = my_dict.get("name")
print(value)  # 输出:Tom
# 获取字典中 "phone" 键对应的值,由于 "phone" 不存在,返回 None
value = my_dict.get("phone")
print(value)  # 输出:None  

方法三:使用items()方法

使用items()方法可以获取字典中所有键值对,返回一个包含所有键值对的列表,列表中的每个元素是一个元组,元组的第一个元素是键,第二个元素是值。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 获取字典中所有键值对
items = my_dict.items()
print(items)  # 输出:dict_items([('name', 'Tom'), ('age', 18), ('gender', 'male')])
# 遍历所有键值对
for key, value in items:
    print(f"{key}: {value}")

方法四:使用keys()方法

使用keys()方法可以获取字典中所有键,返回一个包含所有键的列表。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 获取字典中所有键
keys = my_dict.keys()
print(keys)  # 输出:dict_keys(['name', 'age', 'gender'])
# 遍历所有键
for key in keys:
    value = my_dict[key]
    print(f"{key}: {value}")  

方法五:使用values()方法

使用values()方法可以获取字典中所有值,返回一个包含所有值的列表。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 获取字典中所有值
values = my_dict.values()
print(values)  # 输出:dict_values(['Tom', 18, 'male'])
# 遍历所有值
for value in values:
    print  

方法六:使用in关键字

使用in关键字可以判断一个键是否在字典中,如果在则返回True,否则返回False。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 判断 "name" 是否在字典中
if "name" in my_dict:
    print("name is in my_dict")  # 输出:name is in my_dict
# 判断 "phone" 是否在字典中
if "phone" in my_dict:
    print("phone is in my_dict")
else:
    print("phone is not in my_dict")  # 输出:phone is not in my_dict  

方法七:使用pop()方法

使用pop()方法可以删除字典中指定键的键值对,并返回对应的值。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 删除字典中 "age" 键的键值对,并返回对应的值
value = my_dict.pop("age")
print(value)  # 输出:18
print(my_dict)  # 输出:{"name": "Tom", "gender": "male"}  

方法八:使用popitem()方法

使用popitem()方法可以删除字典中的任意一个键值对,并返回对应的键值对,返回的是一个元组,元组的第一个元素是键,第二个元素是值。

# 定义一个字典
my_dict = {"name": "Tom", "age": 18, "gender": "male"}
# 删除字典中的任意一个键值对,并返回对应的键值对
key, value = my_dict.popitem()
print(key, value)  # 输出:gender male
print(my_dict)  # 输出:{"name": "Tom", "age": 18} 

这就是Python字典取值的几种方法及其代码演示。

最后

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文