如何用值获取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字典取值的几种方法及其代码演示。
最后
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。