初学者入门Python基础五
文章目录
前言
本篇进行分享的内容是Python基础知识中的元组和集合,也会从对元组、集合的创建 增删改查进行demo演示。
提示:以下是本篇文章正文内容,下面案例可供参考
一、元组是什么?
元组是python内置的数据结构之一,是一个不可变序列
不可变序列与可变序列
1)不可变序列:字符串、元组(没有增删改查)
2)可变序列:列表、字典(可以进行增删改查)
二、元组的基本操作
2.1 元组的创建
对于元组的创建和之前的列表很像只是进行元组创建的时候我们使用的是()小括号
#第一种()
t = ('Python','Hello',90)
print(t)
print(type(t))
t2= 'Python','Hello',90 #省略()
print(t2)
print(type(t2))
#只包含一个元素时要加逗号
t3 = ('Python',)
print(t3)
print(type(t3))
#第二种tuple()
t1 = tuple(('python','World',99))
print(t1)
print(type(t1))
'''空元祖创建'''
#列表
lst = []
lst1 = {}
#空字典
d = {}
d1 = dict()
#空元组
t = ()
t1 = tuple()
2.2 元组进行删除测试
前面说了元组是不可变序列是不可以进行元组删除的,但是可以对元组中可变序列元素进行操作如下:
t = (10,[20,30],50)
print(t)
print((type(t)))
print(t[0],type(t[0]),id(t[0]))
print(t[1],type(t[1]),id(t[1]))
print(t[2],type(t[2]),id(t[2]))
'''尝试将t[1]修改为100'''
print(id(100))
#t[1] = 100 #元组是不允许修改元素的
'''由于[20,30]是可变序列,所以可以向列表中添加元素,而列表地址不变'''
t[1].append(100) #向列表中添加元素
print(t,id(t[1]))
2.3 元组的遍历
'''元组元素的遍历'''
t = ('Python','Hello',90)
#第一种方式通过索引
print(t[0])
print(t[1])
print(t[2])
print('-------------------------------')
#第二种方式for in
for item in t:
print(item)
注意:
元组中存储的是对象的引用:
1)如果元组中对象本身不可对象,则不能再引用其他对象
2)如果元组中的对象是可变对象,则可变对象的引用不允许改变,但是数据 可以改变。
三、集合的基本操作
3.1 什么是集合
1)python语言提供的内置数据结构
2)与列表、字典一样都数据可变类型的序列
3)集合是没有value的字典
3.2 集合的增删改查
1.集合的创建
#集合创建方式
#第一种使用{}
t = {2,3,4,5,5,7,7} #集合中元素不允许重复
print((t))
#第二种使用set()内置函数
s = set(range(6))
print(s,type(s))
s2 = set([2,3,4,5,5,7,7])
print(s2,type(s2))
s3 = set((1,2,3,4,5,78))
print(s3,type(s3))
s4 = set('python')
print(s4,type(s4))
s5 = set({1,2,3,4,5,2})
print(s5,type(s5))
#定义一个空集合
s6 = {} #dict字典类型
print(type(s6))
s7 = set()
print(type(s7))
2.集合元素的配判断
对集合元素的判断:
in 或 not in 返回值是布尔类型
s = {10,20,30,40,50}
#集合元素的判断
print(10 in s )
print(100 in s)
print(10 not in s)
print(100 not in s)
3.集合元素的添加
集合元素的新增操作有以下形式:
1)调用add() 一次添加一个元素
2)调用update() 至少添加一个元素
print('------------------------集合元素添加-------------------------')
#集合元素的新增操作
s.add(80) #一次添加一个
print(s)
#update至少添加一个
s.update({200,400,30}) #添加多个元素
print(s)
s.update([10,20,45]) #列表
s.update((1,4,89)) #元组
print(s)
4.集合元素的删除
集合元素的删除操作有以下几种形式:
1)调用remove()一次删除一会指定的元素,如果指定的元素不存在则会报错Keyerror
2)调用discard()一次删除一个指定的元素,如果指定的元素不存在不会出现报错
3)调用pop()y一次只能删除一个任意的元素
4)调用clear()清空集合
print('------------------------集合元素删除-------------------------')
s.remove((10))
print(s)
#使用remove 进行删除时元素必须存在
#使用discard 进行删除时如果不存在 不会报错
s.discard((2000))
print(s)
#pop() 不能加参数 进行任意删除
s.pop()
s.pop()
print(s)
#清空所有元素
s.clear()
print(s)
3.3 集合与集合之间的处理
s = {10,20,30,40}
s1 = {20,30,40,10}
print(s == s1) #True
print(s != s1)
# 不会根据顺序而判断是否相同 只要元素相同就相等
'''一个集合是否是另一个的子集'''
s1 = {10,20,30,40,50,60,0}
s2 = {10,20,40,50}
s3 = {10,90,50}
print(s2.issubset((s1))) #True
print(s3.issubset((s1))) #False 90在s1中不存在
'''一个集合是否是另一个的超集'''
print(s1.issubset((s2))) #False
print(s1.issuperset((s3))) #False
'''两个集合是否有交集'''
print(s2.isdisjoint((s3))) #False 有交集为False
s4 = {100,200,300}
print(s2.isdisjoint((s4))) #True 交集为true
3.4 集合中数学操作
#集合的数学操作
#交集
s1 = {10,20,30,40}
s2 = {20,30,40,50,60}
print(s1.intersection(s2))
print(s1 & s2) #等价
#并集
print(s1.union(s2))
print(s1 | s2) #等价
#差集
print(s1.difference((s2)))
print(s1 -s2)
#对称差集
print(s1.symmetric_difference(s2))
3.5 集合的生成式
#集合生成式
lst = [ i*i for i in range(5)]
print(lst)
#将列表生成式[] 变成{}
s = { i*i for i in range(5)}
print(s)
四、列表、字典、元组、集合总结
总结
`
以上就是本次分享的内容,加油耶
`