Python基础入门篇【12】--python中字典的常见操作(2)

目录

python中字典的常见操作

判断字典中的元素是否存在

in 与 not in判断元素是否存在

key in dict   # 返回True或False
key not in dict   # 返回True或False

get()函数判断元素是否存在

bool(dict.get(key))   # 返回True或False

注意:如果key对应的value是False,0,'',None等,那么就会返回false,这样的不准确了

例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WGC65wsj-1657875145893)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715161409102.png)]

字典中的popitem()函数

删除字典末尾一组键值对,并将其返回

dict.popitem()  # 无需传参,返回被删除的键值对,用元组包裹,0索引是key,1索引是value

注意:如果字典为空,会报错

例子:

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)]

所有数据类型与其布尔值

  • 每一种数据类型,自身的值都有表示Tru与False
  • not对于一切结果取反
数据类型为True为FALSE
int非00
float非0.00.0
strlen(str) != 0len(str) == 0 即’’
listlen(list) != 0len(list) == 0 即[]
tuplelen(tuple) != 0len(tuple) == 0 即()
dictlen(dict) != 0len(dict) == 0 即{}
Nonenot NoneNone

例子:

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)]

深拷贝与浅拷贝总结

类型列表、字典数字、字符串
浅拷贝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)]

将浅拷贝换成深拷贝后,运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LiTnqKga-1657875145899)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220715165122544.png)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值