目录
四、掌握元组的相关操作
- 元组是python中内置的不可变序列
- 在python中使用()定义元组,元素与元素之间使用英文的逗号分隔
- 元组韩综只有一个元素的时候,逗号也不能省略
a.元组的创建方式有两种
1)使用()直接创建元组
语法结构如下:
元组名=(element1,element2,.......elementN)
# 使用小括号创建元组
t=('hello',[10,20,30],'python','world')
print(t)
2)使用内置函数tuple()创建元组
语法结构如下:
元组名=tuple(序列)
# 使用内置函数tuple()创建元组
t=tuple('helloworld')
print(t)
# 如果元组中只有一个元素
t=(10)
print(t,type(t))
# 如果元组中只有一个元素,逗号不能省
y=(10,)
print(y,type(y))
b.删除元组:
del 元组名
c.元组与列表的区别
元组 | 列表 |
---|---|
不可变序列 | 可变序列 |
无法实现添加、删除和修改元素等操作 | append()、insert()、remove()、pop()等方法实现添加和删除列表元素 |
支持切片访问元素,不支持修改操作 | 支持切片访问和修改列表中的元素 |
访问和处理速度快 | 访问和处理速度慢 |
可以作为字典的键 | 不能作为字典的键 |
# 元组元素的访问与遍历
t=('python','hello','world')
#根据索引访问元组
print(t[0])
t2=t[0:3:2] # 元组支持切片操作
print(t2)
# 元组的遍历
for item in t:
print(item)
# for+range()+len()
for i in range(len(t)):
print(i,t[i])
# 使用enumerate()
for index,item in enumerate(t):
print(index,'---->',item)
for index,item in enumerate(t,start=11): # 序号从11开始
print(index,'---->',item)
# 元组生成式
t=(i for i in range(1,4))
print(t)
t=tuple(t)
print(t)
# 遍历
# for item in t:
# print(item)
五、掌握字典的相关操作
字典类型是根据一个信息查找另一个信息的方式构成了“键值对”,它表示索引用的键和对应的值构成的成对关系
a.字典类型的创建方式
1)使用{}直接创建字典
d={key1:value1,key2:value2......}
语法结构如下:
dict(key1=value1,key2=value2......)
d={10:'cat',20:'dog',30:'pet',20:'zoo'}
print(d) # key相同时,value值进行了覆盖
2) 使用内置函数dict()创建字典
通过映射函数创建字典
zip(lst1,lst2)
# 使用参数创建字典
d=dict(cat=10,dog=20) # 左侧cat是key,右侧的是value
print(d)
b.字典类型
字典元素的取值:
d[key]或d.ge(key)
c.字典元素的遍历:
1)遍历出key与value的元组
for element in d.items():
pass
# 字典的遍历
for item in d.items():
print(item) # key=value 组成的一个元素
# 在使用for循环遍历时,分别获取key,value
for key,value in d.items():
print(key,'--->',value)
2)分别遍历出key和value
for key.value in d.items():
pass
# 获取字典中所有的key
keys=d.keys()
print(keys) # dict_keys{[1001,1002,1003,1004]}
print(list(keys))
print(tuple(keys))
# 获取字典中所有的value
values=d.values()
print(values) # dict_values(['李梅', '王华', '张峰', '张丽丽'])
print(list(values))
print(tuple(values))
d.字典的相关操作方法
字典的方法 | 描述说明 |
---|---|
d.keys() | 获取所有key数据 |
d.values() | 获取所有value数据 |
d.pop(key,default) | key存在获取相应的value,同时删除key-value对,否则获取默认值 |
d.popitem() | 随机从字典中取出一个key-value对,结果为元组类型,同时将该key-value从字典中删除 |
d.clear() | 清空字典中所有的key-value对 |
e.字典生成式
d={key:value for item in range}
d={key:value for key,value in zip(lst1,lst2)}
# 字典生成式
import random
d={item:random.randint(1,100)for item in range(4)}
print(d)
六、掌握集合的相关操作
- python中的集合与数学中集合的概念
- python中的集合是一个无序的不重复元素序列
- 集合中只能存储不可变数据类型
- 在python中集合使用{}定义
- 与列表、字典一样,都是python中的可变数据类型
a.集合的创建方式有两种
1)使用{}直接创建集合
语法结构如下:
s={element1,element2,......elementN}
# {}直接创建集合
s={10,20,30,40}
print(s)
# 集合只能存储不可变数据类型
# s={[10,20],[30,40]} # TypeError: unhashable type: 'list'
2)使用内置函数set()创建集合
语法结构如下:
s=set(可迭代对象)
# 使用set()创建集合
s=set() # 创建了一个空集合
print(s)
b.集合的删除
语法结构如下:
del 集合名
c.集合类型的操作符
A&B | 交集 |
A丨B | 并集 |
A-B | 差集 |
A^B | 补集 |
A={10,20,30,40,50}
B={30,50,88,76,20}
# 交集操作
print(A&B)
# 并集操作
print(A|B)
# 差集操作
print(A-B)
# 补集操作
print(A^B)
d.集合的相关操作方法
集合的方法 | 描述说明 |
---|---|
s.add(x) | 如果x不在集合s中,则将x添加到集合s |
s.remove(x) | 如果x在集合中,将其删除,如果不在集合中,程序报错 |
s.clear() | 清除集合中所有元素 |
s={10,20,30}
# 向集合中添加元素
s.add(100)
print(s)
# 删除元素
s.remove(20)
print(s)
# 清空集合中所有元素
s.clear()
print(s)
总结
列表、元组、字典、集合的区别
数据类型 | 序列类型 | 元素是否可重复 | 是否有序 | 定义符号 |
---|---|---|---|---|
列表list | 可变序列 | 可重复 | 有序 | [] |
元组tuple | 不可变序列 | 可重复 | 有序 | () |
字典dict | 可变序列 | key不可重复 value可重复 | 无序 | {key:value} |
集合set | 可变序列 | 不可重复 | 无序 | {} |