python 在set里随机选一个元素_python复习100天--第4天


title: python复习100天—第4天
date: 2020-02-26 19:00:24
tags:

- python- 基础

categories: python复习

Python基本数据类型

集合

  • 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
  • 集合的创建方法:大括号或者set函数
  • 集合是无序的,而列表和元组是有序的
  • 集合中的元素不存在重复(所以集合常用来数据去重)
a = {1, 2, 3}  # 注意:集合只有逗号,没得冒号b = set('abcde')print(a, '', b)# 输出结果"""{1, 2, 3}{'a', 'c', 'e', 'd', 'b'}"""
  • 集合的查看方法
    • 集合中单个元素无法抽出来查看,因为集合是无序的
  • 集合元素的增加
    • 利用add方法可以增加元素
    • 利用update方法也可以增加元素
    • add用于增加单个元素,update用于增加多个元素,且update增加元素的格式为列表或者元组或者字典
a = {1, 2, 3}  # 注意:集合只有逗号,没得冒号a.add(4)a.update([5])  # 用update增加单个元素也需要使用列表格式print(a)# 输出结果"""{1, 2, 3, 4, 5}"""
  • 集合元素的删除
    • 使用remove方法移除特定元素(list中也有这个方法)
    • 使用pop方法随机移除一个元素(集合没有序号,所以只能随机移除)
    • 使用discard移除特定元素,如果元素不存在不会报错
a = set(range(10))  # set把range转集合a.remove(9)a.pop()  # 随机删除a.discard(100)  # 这个元素不存在,不会报错print(a)# 输出结果"""{1, 2, 3, 4, 5, 6, 7, 8}"""
  • 集合的数学运算符
    • Python中的集合和数学中的集合基本使用方法一致
    • -:用于求两个集合的差集(绿色剩余部分表示A-B)
f641b0071c9e46d3b89454ff30517b42
a = set(range(10))  # set把range转集合b = set(range(6, 12))print(a-b)# 输出结果"""{0, 1, 2, 3, 4, 5}"""
    • |:用于求两个集合的并集(绿色部分为A|B,可以理解为A或者B)
b7dd81c799474322b30e53911885328d
a = set(range(10))  # set把range转集合b = set(range(6, 12))print(a | b)# 输出结果"""{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}"""
    • &:用于求两个集合的交集(阴影黄色部分为A&B)
179cae3e30c8424898422165aff70a84
a = set(range(10))  # set把range转集合b = set(range(6, 12))print(a & b)# 输出结果"""{8, 9, 6, 7}"""
    • ^:用于求两个集合不同时存在的元素(可以翻译为A否B,上面图黄色加红色就是了)
a = set(range(10))  # set把range转集合b = set(range(6, 12))print(a ^ b)# 输出结果"""{0, 1, 2, 3, 4, 5, 10, 11}"""
  • 集合中常用函数
    • len函数:计算集合中元素个数。使用同列表、字典、元组、字符串
    • in函数:验证元素是否在集合中。使用同列表、字典、元组、字符串
  • 集合中常用方法:
    • symmetric_difference:返回两个不相同的元素,和上面的^一样
a = set(range(10))  # set把range转集合b = set(range(6, 13))print(a.symmetric_difference(b))# 输出结果"""{0, 1, 2, 3, 4, 5, 10, 11, 12}"""
    • intersection:返回两个集合的交集,和上面的&一样
a = set(range(10))  # set把range转集合b = set(range(6, 13))print(a.intersection(b))# 输出结果"""{8, 9, 6, 7}"""
    • difference:返回两个集合的差集,和上面的-一样
a = set(range(10))  # set把range转集合b = set(range(6, 13))print(a.difference(b))# 输出结果"""{0, 1, 2, 3, 4, 5}"""
    • union:返回两个集合并集,和上面的|一样
a = set(range(10))  # set把range转集合b = set(range(6, 13))print(a.union(b))# 输出结果"""{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}"""
    • copy():复制集合,同列表
a = set(range(10))  # set把range转集合b = a.copy()print(b)# 输出结果"""{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}"""
    • clear():移除集合中所有元素,同列表,字典
a = set(range(10))  # set把range转集合b = set(range(6, 12))a.clear()print(a)# 输出结果"""set()"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值