Python笔记(七)

集合的定义和操作

集合中元素不能重复,且是无序的,区别于列表,元组,字符串

基本语法:

 # 定义集合字面量
 {元素,元素,……,元素}
 # 定义集合变量
 变量名称={元素,元素,……,元素}
 # 定义空集合
 变量名称=set()

和列表、元组、字符串等定义基本相同;

列表使用:[]

元组使用:()

字符串使用:""

集合使用:{}

集合常规操作:

因为集合是无序的,所以集合不支持:下标索引访问

但集合和列表一样,是允许修改的。

添加新元素:

语法:集合.add(元素)。将指定元素,添加到集合内

结果:集合本身被修改,添加了新元素

 my_set={"Hello","World"}
 my_set.add("itheima")
 print(my_set)    # 结果{'Hello','itheima','World'}

移除元素

语法:集合.remove(元素),将指定元素,从集合内移除

结果:集合本身被修改,移除了元素

 my_set={"Hello","World",'itheima'}
 my_set.remove("Hello")
 print(my_set)   # 结果{'World','itheima'}

从集合中随机取出元素

语法:集合.pop(),功能,从集合中随机取出一个元素

结果:会得到一个元素的结果。同时集合本身被修改,元素被移除

 my_set={"Hello","World","itheima"}
 element=my_set.pop()
 print(mt_set)    # 结果{'World','itheima'}
 print(element)   # 结果'Hello'

清空集合

语法:集合.clear(),功能,清空集合

结果:集合本身是被清空

 my_set={"Hello","World","itheima"}
 my_set.clear()
 print(mt_set)   # 结果:set()

取出2个集合的差集

语法:集合1.difference(集合2)

功能:取出集合1和集合2的差集(集合1有而集合2没有的)

结果:得到一个新集合,集合1和集合2不变

 set1={1,2,3}
 set2={1,5,6}
 set3=set1.difference(set2)
 print(set3)     # 结果:{2,3}   得到新集合
 print(set2)     # 结果:{1,2,3}
 print(set1)     # 结果:{1,5,6}

消除2个集合的差集

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素

结果:集合1被修改,集合2不变

 set1={1,2,3}
 set2={1,5,6}
 set1.difference_update(set2)
 print(set1)    # 结果:{2,3}
 pirnt(ste2)    # 结果:{1,5,6}

2个集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组合成新集合

结果:得到新集合,集合1和集合2不变

 set1={1,2,3}
 set2={1,5,6}
 set3=set1.union(seet2)
 print(set3)   # 结果:{1,2,3,5,6} 新集合
 print(set1)   # 结果:{1,2,3},set1不变
 print(set2)   # 结果:{1,5,6},set2不变

统计集合元素数量,遍历

语法:len(集合)

集合不支持下标索引,不能用while循环

可以用for循环

 set={1,2,3,4,5}
 for element in set:
     print(element)

集合.add(元素)集合内添加一个元素
集合.remove(元素)移除集合内指定的元素
集合.pop()从集合中随机取出一个元素
集合.clear()将集合清空
集合1.difference(集合2)得到一个新集合,内含2个集合的差集 原有的2个集合内容不变
集合1.difference_update(集合2)在集合1中,删除集合2中存在的元素 集合1被修改,集合2不变
集合1.union(集合2)得到1个新集合,内含2个集合的全部元素 原有的2个集合内容不变
len(集合)得到一个整数,记录了集合的元素数量

笔记来源:哔哩哔哩"黑马程序员",若有侵权删

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值