python学习笔记--3,深浅复制,集合字典和运算符

①深浅复制

import copy
li=[1,2,3]
li1=li #赋值,id与li相同,同一储存空间
li2=copy.copy(li) #浅复制,id与li不同,相当于复制了外面一层开辟一个不同储存空间
内层列表还是指向原地址
li3=copy.deepcopy(li) #深复制,id与li不同,完完全全复制一份并开辟一个新空间
※#深浅复制的区别(在于嵌套列表)
li=[[1,2],3]
li1=copy.copy(li)
li2=copy.deepcopy(li)
id(li[0])=id(li2[0])≠id(li3[0])
#bytes二进制类型
‘好的’.encode()
b’iuoy’#皆是转二进制的方法

②集合与字典(可变序列),以{}表示

#集合(set) 一个无序,不重复的储存空间,储存单个元素,内不可储存列表
#字典(dict) 一个有序,key值不重复的,储存键值对空间
#集合定义方法
set()类型转换
{‘12’,‘asd’}
#三种运算
交 & 并 | 差 -(前集减去交集)
#集合的增删减查

s.add()

s.pop()–>随机删除
s.remove(…)–>指定删除…

s.update()–>分为单个元素添加

s.isdisjoint(a)–>判断s与a没有交集#无–>True
s.issubset(a)–>判断s是否是a的子集,s包含于a
s.issuperset(a)–>判断s是否是a的富集,s包含a
#字典定义方法(key:value)key的命名不可重复
di={‘name’:‘wang’,‘age’:00}
di=dict(name=‘wang’,‘age’=00)
#字典通过key来查询
eg:di[‘name’] >>‘wang’
di.get(‘name’) >>‘wang’
di.keys()返回所有key值
di.values()返回所有value值
di.items()返回所有
di.setdefault() -->有则返回,无则添加
eg:di.setdefault(‘name’)>>‘wang’
di.setdefault(‘name1’,1)>>di>>{‘name’:‘wang’,‘age’:00,‘name1’:1}
改,增
di[‘a’]=2 -->有该键就改,无则添加
di.update()–>有则改,无则添
#创建一个新的字典
di_1=dict.fromkeys([key,key1],1)>>{‘key’:1,‘key1’:1}

di.pop(‘name’) >>{‘age’:00}
di.popitem() -->从右到左按序删除

③逻辑运算

type(a)–>a为什么序列
isinstance(a,b)–>a是否为b类序列
#比较运算符
== 恒等于,!= 不等于
#>= 大于等于,<= 小于等于
判断语1 and 判断语2
判断语1 or 判断语2
not 判断语 对返回False 错返回True
运算优先级:从上到下依次降低
幂运算符:**
一元运算符:±
算术运算符:/%
比较运算符:==,!=,>=,<=,>,<
赋值运算符:=,a+=1(a=a+1),/=,-=,
=,%=,//=,**=
身份运算符:is,is not(是一个对象,不是一个对象)#用于比较两对像的储存单元是否相同
成员运算符:in,not in(属于,不属于)#元素在指定序列中则返回True,反之返回False
逻辑运算符:not>and>or

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值