2025年增删改查四个命令语句(增删改查基本语句)

增删改查四个命令语句(增删改查基本语句)字典是 python 中唯一的映射类型 采用键值对 key value 的形式存储数据 存储大量的数据 是关系型数据 查询数据快 列表是从头遍历到尾字典使用二分查找 二分查找 也称折半查找 Binary Search 它是一种效率较高的查找方法 比如字典有 1 100 的数据 现在想要查找 75 先劈一半 找到中间值 50 判断 50 和 75 的大小 发现小于 再劈一半 找到中间值 75 直接返回结果

大家好,我是讯享网,很高兴认识大家。



二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。

比如字典有1~100的数据,现在想要查找75。

先劈一半,找到中间值50。判断50和75的大小,发现小于,再劈一半。

找到中间值75,直接返回结果。

执行输出:

字典可以存放各种数据类型

数据类型的分类:
可变数据类型(不可哈希):list,dict,set
不可变数据类型(可哈希):int,bool,str,tuple
容器类型:
容器类(承载各种数据类型):list,tuple,dic










字典的键:必须是不可变数据类型
字典的值:任意数据类型。

字典的键是唯一的。

数据类型分类,主要是可变和不可变

字典的顺序:
严格意义上来讲,是无序的
3.5之前,字典是无序的
3.6开始,字典创建的时候,按照一定的顺序插入的值,看起来是有序的













下面介绍字典的增删改查


第一种:

执行输出:

{'age': 21, 'hobby': 'girl', 'name': 'xiao'}

第二种:

setdefault() 无则添加,有则不变

执行输出:

{'hobby': None, 'name': 'xiao', 'age': 21}

dic.setdefault('hobby') 虽然只指定了key,没有指定value,默认会填充None

添加键值对

执行输出:

{'age': 21, 'name': 'xiao', 'hobby': 'girl'}

添加一个已经存在的key

执行输出:

{'name': 'xiao', 'age': 21}

上述2个添加的方法,只能一个个添加。

pop() 删除指定的key

pop()是所有方法中,唯一有返回值的。

执行输出:

删除一个不存在的key

执行报错: KeyError: 'hobby'

删除一个不存在的key,并指定默认返回值None

执行输出:

推荐使用上述方法,删除一个key。因为如果key不存在时,不会报错,返回None。程序员最怕报错了!

clear() 清空

执行输出:

{}

del 删除字典

del也可以删除指定的key,如果不存在,会报错

推荐使用pop删除,并指定None

popitem() 随机删除,有返回值

执行输出:

执行输出:

{'name': 'zhangsan', 'age': 21}

update() 针对2个字典的修改

执行输出:

可以发现dic没有改变,dic2改变了

update()修改原则

有相同的就覆盖,没有的就添加

通过key查找

执行输出:

xiao

通过value查询

执行报错: KeyError: 'xiao'

字典只能通过key查询,不能通过value查询,否则报错

get() 通过key查询

执行输出:

xiao

查询一个不存在的key

执行输出:

None

默认的None返回值是可以改变的

执行输出:

亲,木有这个字哦!

如果需要查询多个key,请使用for循环

执行输出:

其它操作方法:

keys() values() items()

keys()

执行输出:

keys()方法输出的数据是一个特殊类型,它相当于把所有的key放到了一个容器里面。

它类似于列表的容器,当它并不是列表。

它可以循环

执行输出:

values()

把所有的value放到一个容器里面

执行输出:

items()

将键值对作为一个整体,放到元组中。集中放到一个容器中。

执行输出:

特殊类型转换为列表

执行输出:


讯享网

['age', 'name']

分别循环key和value

执行输出:

现有如下字典,需要遍历key

第一种写法:

第二种写法:

以上2段代码,功能是一样的。推荐使用第二种。

概念: 分别赋值

比如

执行输出:

2 3

面试题:

a = 4,b = 5,请用一行代码,将a和b的值互换。

答案

字典的嵌套

出一个题目

答案:

执行输出:

今日作业:

答案:

第1题

第2题

第3题:

第4题

4、有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}

先使用split()指定分割符| 切割成列表

执行输出:

在for循环里面是,指定分割符:,再次切割

执行输出:

那么列表中索引为0的就是key,索引为1就是value

使用字典方法添加键值对,完整代码如下:

执行输出:

{'k1': '2', 'k2': '3', 'k': '1', 'k3': '4'}

代码优化

执行输出:

{'k3': '4', 'k2': '3', 'k': '1', 'k1': '2'}

将数字转换为整形

执行输出:

{'k2': 3, 'k': 1, 'k1': 2, 'k3': 4}

第5题:

先打印列表的每一个元素

执行输出:

...

90

定义字典,将大于66的,放入k1的列表中

执行输出:

{'k2': [], 'k1': [77, 88, 99, 90]}

将小于66的放入k2中,完整代码如下:

执行输出:

{'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99, 90]}

由于66跑到k2里面了,在改一下判断条件

执行输出:

{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55, 66]}

第6题

先输入商品列表,并打印序号(使用index方法)

6.1

执行输出:

有了序号,就可以打印商品

判断用户的输入的内容是否为数字,定义一个非法字符串aa

6.2

执行输出:

您输入的含有非数字元素

判断用户输入的数字是否大于列表的长度,定义一个数字11

6.3

执行输出:

你输入的序号商品不存在,请重新输入!

重新修改数字为1,再次执行,就可以输出商品了。

上面的代码是一次性输入,如果需要循环执行,怎么办?用while循环

先来一个简单的循环输入input,根据第4点要求,遇到Q或者q,退出程序

6.4

执行程序:

执行执行之前,打印商品列表

6.5

执行输出:

将6.3里面的for循环代码复制,替换到6.5里面pass里面,最后代码如下:

执行输出:

输出部分修饰一下:

执行输出:

代码优化:

执行效果同上:

再次优化

执行输出:

调整序号,加1。取值的时候,再减1

执行输出:

老师的代码:

执行输出:

明日默写内容。
1)字典的增删改查。

  

2)过滤敏感字符代码的默写。

  

  

小讯
上一篇 2025-05-28 21:35
下一篇 2025-04-15 09:00

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203639.html