前言

1、dict 字典:{key,vlaue} --key 必须是不可变数据类型,可哈希,--value:任意数据类型

2、dict优点:二分查找去查询
--存储大量的关系型数据,可哈希。
--无序的,通过key查找

一、增

1、第一种

# 第一种
dic = {"name": "小龙", "age": 22, "job": "IT"} dic["high"] = 175 # 没有key时则新增
dic["age"] = 16 # 有key时,value被覆盖
print(dic)

2、第二种

# 第二种
dic = {"name": "小龙", "age": 22, "job": "IT"} dic.setdefault('sex', 'man') # 没有key时则新增
dic.setdefault('age', '') # 有key时,不做任何改变
print(dic)

二、删

1、第一种

# 第一种
dic = {"name": "小龙", "age": 22, "job": "IT"} name = dic.pop('age') # 按key删除,有返回值
print(dic)
print(name)

2、第二种,建议用这种

# 第二种,常用
dic = {"name": "小龙", "age": 22, "job": "IT"}
name = dic.pop('sex', '没有key') # 可设置返回值,避免报错
print(dic)
print(name)

3、第三种,清空dict

# 第三种清空dict
dic = {"name": "小龙", "age": 22, "job": "IT"}
dic.clear()
print(dic)

4、第四种,没有返回值

# 第四种,没有返回值
dic = {"name": "小龙", "age": 22, "job": "IT"}
del dic['name']
print(dic)
del dic # 删除整个dict

三、改

1、第一种

# 第一种
dic = {"name": "小龙", "age": 22, "job": "IT"}
dic['age'] = 18
print(dic)

2、 第二种 update,dic 覆盖添加到dic1

# 第二种 update,覆盖添加
dic = {"name": "小龙", "age": 22, "like": "IT"}
dic1 = {"name": "玲玲", "age": 18, "job": "大宝剑"}
dic1.update(dic)
print(dic)
print(dic1)

四、查

1、可分别查key、value,或查key:value

# 4、查
dic = {"name": "小龙", "age": 22, "like": "IT"}
print(dic['name']) # 查看name对应的value,没有找到会报错
print(dic.get('name1', '没有这个value')) # 可设置返回值,推荐
print(dic.keys()) # key
print(dic.values()) # value
print(dic.items()) # 元组的键值

欢迎来QQ交流群:482713805

python-11-字典的增删改查的更多相关文章

  1. 2018.8.1 python中字典的增删改查及其它操作

    一.字典的简单介绍 1.dict 用{}来表示       键值对数据           {key:value} 唯一性 2.键都必须是可哈希,不可变的数据类型就可以当做字典中的键 值没有任何限制 ...

  2. python之字典的增删改查

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.字典都是无序的,但查询速度快. 字典是一个key/value的集合,key可以是任意可被哈希(内部key ...

  3. Python 基础字典的增删改查

    # 字典相关的代码## 1.字典的特性:a 字典的无序性: b 数据关联性强 C 键键值对 唯一一个映射数据类型# 字典的键必修二是可哈希的(不可变的数据类型:,字符串,数字的,布尔值,元祖)# 并且 ...

  4. Python学习————字典的增删改查

    增加:dic1['KEY'] = value -->若之前有KEY,则会覆盖.若没有KEY,则新增至尾处dic.setdefault('KEY',value/None) --->若之前有K ...

  5. DAY5(PYTHON) 字典的增删改查和dict嵌套

    一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...

  6. python字典的增删改查

    字典dict 知识点: {}括起来,以键值对形式存储的容器性数据类型: 键-必须是不可变数据类型,且是唯一的: -值可以是任意数据类型.对象. 优点:关联性强,查询速度快. 缺点:以空间换时间. 字典 ...

  7. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  8. 字典(dict),增删改查,嵌套

    一丶字典 dict 用{}来表示  键值对数据  {key:value}  唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 二丶字典的增删改查 1.增 dic[k ...

  9. python学习(list增删改查、及常用方法)

    1.Python多条件判断: 多条件判断if: passelse: pass循环 while for i = 0 while i > 1: print('hello') else: print( ...

  10. Python之注册表增删改查(干货)

    在Windows平台下,对注册表的增删改查的需求比较多,微软提供了很多用于访问,修改注册表等的API,我们可以使用诸如bat,或者C++等各种方式去访问修改注册表.无所不能的python下如何完成这些 ...

随机推荐

  1. 数据库死锁的问题,Deadlock found when trying to get lock; try restarting transaction at Query.formatError

    场景: 应用刚上线排除大批量请求的问题 线上多次出现的Deadlock found when trying to get lock错误 代码: async batchUpdate(skus, { tr ...

  2. oracle 查询两个字段值相同的记录

    select A.* from tb_mend_enrol A, (select A.Typeid, A.address from tb_mend_enrol A group by A.Typeid, ...

  3. LVS的工作模式介绍和NAT模式&DR模式实验步骤

    一:LVS介绍 二.LVS的NAT和DR模式的实验及配置步骤 一.LVS的简单介绍 linux virtual server 简单来讲lvs是一段内核代码 类似于netfilter本身是一框架但不提供 ...

  4. Lua 5.1 学习笔记

    1 简介 2 语法 2.1 语法约定 2.1.1 保留关键字 2.1.2 操作符 2.1.3 字符串定义 2.2 值与类型 2.2.1 强制转换 2.3 变量 2.3.1 索引 2.3.2 环境表 2 ...

  5. unittest---unittest断言

    在unittest单元测试中也提供了断言的方式,通过断言判断用例有没有成功. unittest常用断言 unittest框架的TestCase类提供以下方法用于测试结果的判断 方法 检查 assert ...

  6. docker工具之基本命令

    docker工具之基本命令 1.docker服务的启动.停止.重启 systemctl start docker #启动docker服务 systemctl daemon-reload #守护进程重启 ...

  7. docker-19.03安装部署,阿里源加速

    docker所依赖的包环境,为了方便不报错,推荐执行 [root@liujunjun ~]# yum install -y yum-utils device-mapper-persistent-dat ...

  8. Java之StringBuilder类

    StringBuilder类的由来 由于String类的对象内容不可改变(底层是一个被final修饰的数组),所以每当我们进行字符串拼接时,总是会在内存中创建一个新的对象.如果对字符串进行拼接操作,每 ...

  9. 范罗士空气净化器PT65评测

    买了一台空气净化器,之前网上查了查,哟,是个知名品牌,做碎纸机的. 你问我为啥找个卖碎纸机的买空气净化器?因为年轻,咱们往下看 包装还可以 一打开就有疑问了,这塑料味道不对呀,三手料也不该这个味儿啊. ...

  10. SpringBoot中maven打包,启动报没有主清单属性

    有时候会出现这种情况,看一下项目的pom中是否有这个插件配置,没有的话需要引入. <build> <plugins> <plugin> <groupId> ...