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

 更新时间:2023年09月06日 16:38:49   作者:土谷祠房客  
这篇文章主要介绍了如何用值获取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字典取值的几种方法及其代码演示。

最后

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

相关文章

  • numpy库与pandas库axis=0,axis= 1轴的用法详解

    numpy库与pandas库axis=0,axis= 1轴的用法详解

    这篇文章主要介绍了numpy库与pandas库axis=0,axis= 1轴的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python实现网站微信登录的示例代码

    python实现网站微信登录的示例代码

    这篇文章主要介绍了python实现网站微信登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • python 删除系统中的文件(按时间,大小,扩展名)

    python 删除系统中的文件(按时间,大小,扩展名)

    这篇文章主要介绍了python 如何删除系统中的文件,分别按时间,大小,扩展名删除,满足不同需求,感兴趣的朋友可以了解下
    2020-11-11
  • python3.4 将16进制转成字符串的实例

    python3.4 将16进制转成字符串的实例

    今天小编就为大家分享一篇python3.4 将16进制转成字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python UnboundLocalError和NameError错误根源案例解析

    Python UnboundLocalError和NameError错误根源案例解析

    这篇文章主要介绍了Python UnboundLocalError和NameError错误根源解析,本文通过案例分析实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • Python参数传递由浅入深实例教程

    Python参数传递由浅入深实例教程

    这篇文章主要为大家介绍了Python参数传递由浅入深实例教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python3利用scapy局域网实现自动多线程arp扫描功能

    Python3利用scapy局域网实现自动多线程arp扫描功能

    这篇文章主要介绍了Python3利用scapy局域网实现自动多线程arp扫描功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • python中NumPy的安装与基本操作

    python中NumPy的安装与基本操作

    Python虽然也提供了array模块,但其只支持一维数组,不支持多维数组,也没有各种运算函数,因而不适合数值运算,NumPy的出现弥补了这些不足,这篇文章主要给大家介绍了关于python中NumPy的安装与基本操作的相关资料,需要的朋友可以参考下
    2022-03-03
  • python实现监控windows服务并自动启动服务示例

    python实现监控windows服务并自动启动服务示例

    这篇文章主要介绍了python实现监控windows服务并自动启动服务示例,需要的朋友可以参考下
    2014-04-04
  • Python sklearn库实现PCA教程(以鸢尾花分类为例)

    Python sklearn库实现PCA教程(以鸢尾花分类为例)

    今天小编就为大家分享一篇Python sklearn库实现PCA教程(以鸢尾花分类为例),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论