python基础一_06_集合

python基础一_06_集合

导读:
本文主要记录自己学习python3基础中集合的要点知识和例子;仅供自己梳理。

一、集合的定义

集合是一组无序不重复的元素
集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的
1.定义一个集合
可以使用大括号 { } 或者 set() 函数创建集合,
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
s1 = {1,2,3,4}
print(s1)
print(type(s1))
# set
set2 = set()
print(set2)
print(type(set2))
2.集合中没有重复的元素(去重)
s2 = {1,1,2,2,3,3,'a','a','b','b','c','c'}
print(s2)
{1, 2, 3, 'b', 'a', 'c'}

二、交集,差集,并集和对称差集

交集(&): 两个集合的公共部分
并集(|): 两者集合合并,没有重复元素
差集(-): 只有前项有的元素,不存在后项中的元素。
对称差集(^):只在a或b中,但是不会同时出现在二者中
seta = set('1234')
print(seta)
setb = set('3456')
print(setb)
# 交集
print(seta&setb)
# 并集
print(seta|setb)
# 差集
print(seta-setb)
print(setb-seta)
# 对称差集
print(seta^setb)

三、集合的常用操作

1.增添
add:为集合无规律添加元素
thisset = set(('阿里','腾讯','华为'))
print(thisset)
thisset.add('字节跳动')
print(thisset)
update:也可以添加元素,且参数可以是列表,元组,字典等,并用逗号分隔开
# 语法格式如下:s.update(x),注:x可以是多个值,用逗号分隔开
thisset = set(('阿里','腾讯','华为'))
thisset.update({1,3})
print(thisset)
#
thisset.update([2,4],[6,8],('name',666))
print(thisset)
2.删除
set3 = {1, 2, 3, 4, 'name','阿里','腾讯', '华为','百度'}
remove:删除集合中的指定元素,当指定的元素不存在的时候会报错
set3.remove('百度')
print(set3)
discard:是删除集合中的指定元素,且如果元素不存在的时候,不会报错
set3.discard('google')
print(set3)
pop:无逻辑删除元素
set3.pop()
print(set3)

四、set、list、tuple之间的相互转换

a = 'hello'
print(type(a))
字符串转列表
b = list(a)
print(b)
字符串转元组
c = tuple(a)
print(c)
字符串转集合
d = set(a)
print(d)

五、python数据类型的比较与总结

1.比较
数据类型比较字符串列表元组字典集合
是否有序
是否可修改
方法多少很多一般很少较多一般
2.可变类型与不可变类型
可变类型,值可以改变:
  • 列表 list
  • 字典 dict
  • 集合 set
不可变类型,值不可以改变:
  • 数值类型 int, long(Python3去除), bool, float
  • 字符串 str
  • 元组 tuple
3.通用方法整合
常见操作Python 表达式结果描述支持的数据类型
+[1, 2] + [3, 4][1, 2, 3, 4]合并字符串、列表、元组
*‘Hi!’ * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]复制字符串、列表、元组
in3 in (1, 2, 3)True元素是否存在字符串、列表、元组、字典、集合
not in4 not in (1, 2, 3)True元素是否不存在字符串、列表、元组、字典、集合
注意,in在对字典操作时,判断的是字典的键
4.公共方法
Python内置函数
序号方法描述
1len(item)计算容器中元素个数
2max(item)返回容器中元素最大值
3min(item)返回容器中元素最小值
4del(item)删除变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值