博客
关于我
Python基础_字典操作——增、删、改、查
阅读量:277 次
发布时间:2019-03-01

本文共 2180 字,大约阅读时间需要 7 分钟。

字典是Python中常用的数据结构,支持增删改查操作,具有高效的查找性能。以下从操作细节入手,详细说明字典的增删改查方法。

一、增

1、直接定义方式

字典可以通过直接定义的方式初始化。最常见的方式是使用字典表达式:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}

另一种方式是利用dict构造函数,通过列表或元组的形式传递键值对:

student = dict([("name", "Tom"), ("age", 18), ("class", 90)])

2、添加新键值对

在定义字典后,可以通过赋值操作动态添加新的键值对:

student = {"name": "Tom", "age": 18, "class": 90}student["address"] = "Beijing"print(student)  # 输出: {'name': 'Tom', 'age': 18, 'class': 90, 'address': 'Beijing'}

需要注意的是,字典的键不能是可变类型对象,如列表、集合等。同时,相同键只能对应一个值,后续修改会覆盖原值。

3、错误示例

以下操作会导致错误,需注意字典键的类型要求:

test = {}test[[1, 2]] = "a"  # 错误,字典键不能是列表,报错类型:TypeError: unhashable type: 'list'

二、删

1、删除指定键

可以通过del命令直接删除指定键:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}del age["lisi"]print(age)  # 输出: {'zhangsan': 20, 'wangwu': 50}

删除不存在的键会抛出KeyError错误:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}del age["Tom"]  # 错误,KeyError: 'Tom'

2、清空字典

清空所有键值对可以通过clear()方法:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}age.clear()print(age)  # 输出: {}

3、删除字典引用

当不再需要字典时,可以通过del命令删除变量:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}del age  # 删除字典引用# 此操作后,变量`age`不可再用,会报错:UnboundLocalError: local variable 'age' referenced before assignment

三、改

根据键更新对应值,可以通过=操作符:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}age["wangwu"] = 40print(age)  # 输出: {'zhangsan': 20, 'lisi': 30, 'wangwu': 40}

若键不存在,=操作会新增该键值对:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}age["laoliu"] = 60print(age)  # 输出: {'zhangsan': 20, 'lisi': 30, 'wangwu': 50, 'laoliu': 60}

四、查

1、获取单个值

通过已知键访问对应值:

age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}print(age["wangwu"])  # 输出: 50

2、遍历键值对

  • 遍历所有键:
age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}for key in age:    print(key)    # 输出:zhangsan, lisi, wangwu
  • 遍历所有键:
age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}for key in age.keys():    print(key)    # 输出:zhangsan, lisi, wangwu
  • 遍历所有值:
age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}for value in age.values():    print(value)    # 输出:20, 30, 50
  • 同时遍历键值对:
age = {"zhangsan": 20, "lisi": 30, "wangwu": 50}for key, value in age.items():    print(f"{key}: {value}")    # 输出:zhangsan: 20, lisi: 30, wangwu: 50

字典作为核心数据结构,在Python代码中应用广泛,其灵活性和高效性使其成为开发者的重要工具。通过合理运用增删改查方法,可以有效管理数据,提升代码功能和性能。

转载地址:http://rmqo.baihongyu.com/

你可能感兴趣的文章
Openlayers实战:绘制图形,导出geojson文件
查看>>
Openlayers实战:绘制图形,导出KML文件
查看>>
Openlayers实战:绘制多边形,导出CSV文件
查看>>
Openlayers实战:绘制带箭头的线
查看>>
Openlayers实战:自定义放大缩小,显示zoom等级
查看>>
Openlayers实战:自定义版权属性信息
查看>>
Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
查看>>
Openlayers实战:选择feature,列表滑动,定位到相应的列表位置
查看>>
Openlayers实战:非4326,3857的投影
查看>>
Openlayers高级交互(1/20): 控制功能综合展示(版权、坐标显示、放缩、比例尺、测量等)
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
查看>>
Openlayers高级交互(12/20):利用高德逆地理编码,点击位置,显示坐标和地址
查看>>
Openlayers高级交互(13/20):选择左右两部分的地图内容,横向卷帘
查看>>
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>