python基础一_06_集合
导读:
本文主要记录自己学习python3基础中集合的要点知识和例子;仅供自己梳理。
一、集合的定义
集合是一组无序不重复的元素
集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的
1.定义一个集合
可以使用大括号 { } 或者 set() 函数创建集合,
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
s1 = {1,2,3,4}
print(s1)
print(type(s1))
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:也可以添加元素,且参数可以是列表,元组,字典等,并用逗号分隔开
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.可变类型与不可变类型
可变类型,值可以改变:
不可变类型,值不可以改变:
- 数值类型 int, long(Python3去除), bool, float
- 字符串 str
- 元组 tuple
3.通用方法整合
常见操作 | Python 表达式 | 结果 | 描述 | 支持的数据类型 |
---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合并 | 字符串、列表、元组 |
* | ‘Hi!’ * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 复制 | 字符串、列表、元组 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元组、字典、集合 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元组、字典、集合 |
注意,in在对字典操作时,判断的是字典的键
4.公共方法
Python内置函数
序号 | 方法 | 描述 |
---|
1 | len(item) | 计算容器中元素个数 |
2 | max(item) | 返回容器中元素最大值 |
3 | min(item) | 返回容器中元素最小值 |
4 | del(item) | 删除变量 |