目录
python中字典的常见操作
判断字典中的元素是否存在
in 与 not in判断元素是否存在
key in dict
key not in dict
get()函数判断元素是否存在
bool(dict.get(key))
注意:如果key对应的value是False,0,'' ,None等,那么就会返回false,这样的不准确了
例子:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WGC65wsj-1657875145893)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715161409102.png)]](https://img-blog.csdnimg.cn/a111ff6e510e40f2938bc5d8d19d159a.png)
字典中的popitem()函数
删除字典末尾一组键值对,并将其返回
dict.popitem()
注意:如果字典为空,会报错
例子:
students = {
'小明': '到',
'小白': '在',
'小黑': '在呢'
}
print(students.popitem())
print(students)
print(students.popitem()))
print(students)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wxe4i4VB-1657875145895)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715162656075.png)]](https://img-blog.csdnimg.cn/89405f8e4afb4512a549d678037cdd0b.png)
所有数据类型与其布尔值
- 每一种数据类型,自身的值都有表示Tru与False
- not对于一切结果取反
数据类型 | 为True | 为FALSE |
---|
int | 非0 | 0 | float | 非0.0 | 0.0 | str | len(str) != 0 | len(str) == 0 即’’ | list | len(list) != 0 | len(list) == 0 即[] | tuple | len(tuple) != 0 | len(tuple) == 0 即() | dict | len(dict) != 0 | len(dict) == 0 即{} | None | not None | None |
例子:
a_1 = 1
a_2 = 0
print(bool(a_1))
print(bool(a_2))
print(bool(not a_1))
print(bool(not a_2))
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXxpKF6c-1657875145897)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715163639141.png)]](https://img-blog.csdnimg.cn/7183a84a8b8f47769ca52c48abf89e3d.png)
深拷贝与浅拷贝总结
类型 | 列表、字典 | 数字、字符串 |
---|
浅拷贝copy() | 拷贝父对象,不会拷贝对象内部的子对象 | 等同于赋值操作 | 深拷贝deepcopy() | 完全拷贝父对象及其子对象 | 等同于赋值操作 |
例子:
浅拷贝:
import copy
dict_1 = {
"course": "python",
"name": {"web": ["django"]}
}
dict_2 = copy.copy(dict_1)
dict_2["db"] = "mysql"
print("dict_1:", dict_1, id(dict_1))
print("dict_2:", dict_2, id(dict_2))
dict_2["name"]["web"].append("flask")
print("dict_1['name']:", dict_1, id(dict_1["name"]))
print("dict_2['name']:", dict_2, id(dict_2["name"]))
运行结果:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SqJAzltC-1657875145898)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715165001767.png)]](https://img-blog.csdnimg.cn/fe726bfcf67b4690b3737a3a8b98eaf5.png)
将浅拷贝换成深拷贝后,运行结果:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LiTnqKga-1657875145899)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715165122544.png)]](https://img-blog.csdnimg.cn/aa7df1199ea045dda2e98349f8613af5.png)
|