元组
元组(Tuple)是‘不可变’的列表(List)
元组使用小括号,列表使用方括号
tup = ('张三','25','178')
元组的读与写
元组的读取方式与列表相同
元组的元素在创建后不允许修改
元组允许使用‘元组运算符’来创建新元组
(5,6)+(7,8,9)=(5,6,7,8,9)
('see','you')*2=('see','you','see','you')
元组的创建
t=('a','b','c',2,3)
建议加()
t='a','b','c',2,3
不加()也可以,也是元组
元组获取数据
元组的获取数据方式时与列表完全相同
例如:
t[5]
,
t[-1]
,
t[1:4]
'b' in tup
元组在创建后内容不可变
t[0]=2
都会报错
写入数据同样不支持
t.append('a')
,t.pop('a')
都会报错
特殊情况
如果元组内持有列表,那么列表的内容是允许修改的
t2=(['张三','28'],['李四','22'])
t2[0][1]=30
元组运算符
(1,2,3)+(4,5)=(1,2,3,4,5)
('see','you')*2=('see','you','see','you')
注意:如果元组只有一个元素时,必须在这个元素后增加逗号说明这是一个元组
元组运算符同样适用于列表,但是不能混合使用
[1,2,3]+[4,5]=[1,2,3,4,5]
列表与元组的区别与应用场景
列表 | 元组 |
---|---|
内容允许扩展 | 内容不可变 |
内存存储动态变化 | 创建后固定不变 |
效率较低 | 效率较高 |
运行时数据需要变更时使用 | 用于保存稳定不变的数据 |
保存天气数据,股市数据 | 保存国家名,元素周期表 |
认识‘序列’
序列(Sequence)是指‘有序’的队列
序列中的元素顺序按添加顺序排列
序列中的数据是通过索引进行获取(类似数组)
序列通常包含的数据结构
字符串(Str)
列表(List)
元组(Tuple)
数字序列(Range)
数字序列(Range)
range用于表示数据序列,内容不可变
数字序列使用range()
函数创建
语法:r=range(0,100)
# 产生0-99数字序列,注意左闭右开
r=range(10,20)
# 10-19的整数,左闭右开
增加步长
r=range(10,20,2)
最后一位2
步长的意思 包含数字10,12,14,16,18
成员运算符
print(12 in range(10,20))
#True
数字序列经典案例
通过range遍历其他序列
科学计算
序列类型的相互转换
list()
将其他序列类型转换为列表
tuple()
将其他序列类型转换为元组
join(),str()
将其他序列类型转换为字符串
str
函数用于将单个数据转为字符串join
对列表进行连接
join
要求所有元素必须是字符串
集合的介绍
集合(Set)是python中内置数据结构
集合可被看做是‘没有value的字典’
例如:{'张三','李四','王五'}
集合的特点
集合元素是无序的
集合元素不能重复
集合是可变的
集合允许数学运算
集合是分散存储的
集合的创建
使用
{}
符号创建集合
使用set()
函数创建几个
例子:
college = {'哲学','经济学','法学','教育学','物理学'}
如果打印出来顺序是乱的,不固定
使用
set()
内置函数从其他数据转换结构
college = set(['金融学','物理学','数学'])
使用
set
创建字符串集合
set('中华人民共和国')
空集合的创建》
college = set()
集合关系与数学运算
交集(intersection),
并集(union)
差集(difference)
交集
交集(intersection),获取两个集合中重复的部分,有两个内置方法
coll1.intersection(coll2)
新建一个
coll1.intersection_update(coll2)
新建后赋值给coll1
并集
并集是,将两个集合所有元组合并去重
coll1.union(coll2)
新建一个
差集 ,是指两个集合之间不同的部分
coll1.difference(coll2)
单项差集
coll1.symmetric_difference(coll2)
双向差集
coll1.symmetric_difference_update(coll2)
新建后赋值给coll1
集合间的关系操作
==
判断两个集合的元素是否完全相同
s3.issubset(s4)
s3
是不是s4
的子集
s4.issuperset(s3)
s4
是否包含s3
s5.isdisjoint(s6)
判断两个集合是否存在重复元素
False
代表存在重复True
代表不存在重复元素
操作集合元素 ----增删改查
集合的遍历
for c in college:
print(c)
判断元素是否存在
print('哲学' in college)
print('哲学' not in college)
集合中新增元素
add
方法 一次只能新增一个元素,如果该元素已存在则会忽略
college.add('计算机学')
update()
方法来一次添加多个元素
college.update(['生物学','工程学'])
列表形式
college.update(('生物学','工程学'))
元组形式
remove()
删除元素
college.remove('计算机学')
remove
如果删除不存在的元素时会报错
discard()
删除,如果不存在的元素时,则会忽略删除操作,不会产生错误
三种内置生成式
列表生成式
字典生成式
集合生成式
生成式语法
[被追加的数据 循环语句 循环语句或判断语句] | {}
列表生成式
lst = [i * 10 for i in range(10,20) if i % 2 == 0]
字典生成式
dict = {i+1:list[i] for i in range(0,len(list))}
print(dict)
集合生成式
set = {i*j for i in range(1,4) for j in range(1,4) if i == j}
print(set)
网友评论