拷贝、集合、函数

本文详细介绍了Python中的拷贝概念,包括深浅拷贝的区别及其注意事项。接着探讨了集合的特性,如去重、关系测试,并列举了各种集合操作如交集、并集、差集等。最后,讲解了函数的基础知识,包括函数的作用、创建、形参实参以及不同类型的参数。
摘要由CSDN通过智能技术生成

拷贝

深浅拷贝

浅拷贝 = 只拷贝第一层

husband = ['xiaohu',1234,[12000,56000]]
wife=husband.copy()
wife[0]='xiaoqian'
wife[1]=9789
husband[2][0]-=2000
print(wife)

深拷贝 = 克隆一份
xiao=copy.deepcopy(husband)
xiao[0]='sen'
xiao[1]=4562
xiao[2][1] -=4562
husband[2][0]-=2000
print(wife)
print(xiao)

拷贝的警告: 
  对于非容器类型,如数字,字符,以及其它“原子”类型,没有拷贝一说。产生的都是原对象的引用。
  如果元组变量值包含原子类型对象,即使采用了深拷贝,也只能得到浅拷贝。

集合:

集合是一个无序的,不重复的数据组合,主要作用:
    去重,把一个列表变成集合,就自动去重了
   关系测试,测试两组数据之前得交集、差集、并集等关系

集合得创建(无序,不重复得)
 集合分类:
    可变集合:
      set:
        可添加和删除元素,非可哈希得,不能用作字典得键,也不能做其他集合得元素

            s=set('alex li')
            s1=['alvin','ss','alvin']
            s2=set(s1) # 去掉重复内容
            print(s2,type(s2)) # 数据类型
            s=list(s2) # 强转
            print(s,type(s))

           不可变集合:
  			  frozenset:
      		  与上面恰恰相反

访问集合:
   由于集合本身是无序得,所以不能为集合创建索引或切片操作,只能循环历史或使用in,not in来访问或判断集合元素

li=[2,3,'ale']
s=set(li)
print(s)
print(2 in s)

集合更新:
   集合内置了add、update、remove方法用于集合元素的添加、更新及移除操作。另外也可以通过操作符“-=”从集合中删除子集合。集合更新操作只适用于通过set创建的可变集合。

s.add()    add方法用于添加一个集合成员
s.update()    remove方法用于删除一个集合成员
s.remove()    update用于从已存在的集合中添加一个或多个成员

集合类型操作符:
1.in , ,not in
2.集合等价与不等价(==,!=)
   print(set(‘file’)==set(‘fileexex’))
3.子集,超集
   print(set(‘file’)<set(‘filewww’))
4.联合:
    联合(union)操作与集合得and操作其实

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值