一.元组
1.元组的基本介绍
1.1 元组的表现形式tuple
1.2创建元组的方法:tuple()
tu = tuple()
1.3 元组是一个不可变序列
1.4 如果元组不是空的至少包括一个逗号,当元组不是空元组时括号可以省略
1.5 元组的解包:将元组中的每一个元素都赋值给一个变量。
a,b,c = 1,2,3
print('a=',a)
print('b=',b)
print('c=',c)
二.字典的简介
1.字典的介绍:字典属于一种新的数据类型,简称映射(mapping)
2.字典的特点:
2.1 字典相对于列表的存储性能比较差,但查询性能好,列表的存储性能好,但查询性能相对差。
2.2 字典中的键是唯一不能重复的,如果出现重复后面的会替换前面的
2.3 字典的值可以是任意的对象,字典的键可以是任意不可变对象
2.4 字典的作用与列表相似,都是用来存储对象的容器。
3.字典的使用方法
3.1 dict()该函数可创建字典
方法一:
dr = dict(name='葫芦娃',age=18,gender='female')
方法二:
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
3.2 get(key[,default]) 根据键来获取字典的值。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
r = dr.get('classmate','boy')
3.3 通过key来修改字典中对应的value值或者向字典中添加key-value键值对
3.3.1 如果字典中有对应的key,则修改字典中key对应的value值
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr['name'] ='小朋友’
print(dr)
输出结果:
{'name':'小朋友','age':18,'gender':'female'}
3.3.2 如果字典中没有对应的key,则表示向字典添加新的key-value键值对
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr['classmate'] ='男生’
print(dr)
输出结果:
{'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
3.4 update() 将其他字典的key-value添加到当前的字典当中
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
dr_one = {'birthday':20200909,'style':'deli'}
dr.update(dr_one)
print(dr)
输出结果:
{'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'birthday': 20200909, 'style': 'deli'}
3.5 del 删除字典中的key-value
3.6 popitem()随机删除字典中的key-value键值对,一般都会删除字典中的最后一个,该方法有返回值,返回值为删除的key-vakue键值对组成的元组
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
r = dr.popitem()
print(r)
print(dr)
输出结果:
('classmate', '男生')
{'name': '葫芦娃', 'age': 18, 'gender': 'female'}
3.7 pop(key[,default]) 根据key删除指定的value,该方法也有返回值,返回的是删除的key对应的value。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
dr.pop('name')
print(r)
print(dr)
输出结果:
葫芦娃
{'age': 18, 'gender': 'female', 'classmate': '男生'}
3.8 setdefault(key,value) :当字典中已经有相应的相同key的名字时,该方法不会对字典有任何作用,当字典中没有该key的相同的名字时,则会向字典中添加指定的key-value键值对
dr = dict([('name','葫芦娃'),('age',18),'ab',('gender','female')])
dr.setdefault('name','hello')
print(dr)
dr.setdefault('seion','hay')
print(dr)
输出结果:
{'name': '葫芦娃', 'age': 18, 'a': 'b', 'gender': 'female'}
{'name': '葫芦娃', 'age': 18, 'a': 'b', 'gender': 'female', 'seion': 'hay'}
三.浅复制与深复制(该方法不仅适用于字典,也适用于列表等)
1.copy() 方法用来对字典进行浅复制
注意:浅复制只会复制字典本身,如果字典中还有个字典是不会进行复制的
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
d = dr.copy()
print(d)
输出结果:
{'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生'}
2.deepcopy()用来对字典进行深复制
注意:深复制不仅会复制字典本身,如果字典中还有个字典是同样可以进行复制的
import copy
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生','li':[1,2,3,4]}
d = copy.deepcopy(dr)
d['li'][0] = 'hello'
print(d)
print(dr)
输出结果:
{'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'li': ['hello', 2, 3, 4]}
{'name': '葫芦娃', 'age': 18, 'gender': 'female', 'classmate': '男生', 'li': [1, 2, 3, 4]}
四.遍历字典
1.keys() 该方法法返回字典所有的key
语法:
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
for key in dr.keys():
代码块
2.values() 该方法返回一个序列 序列中保存有字典的值
语法:
```python
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
for value in dr.values():
代码块
3.items() 该方法会返回字典中所有的项 它返回一个序列,序列中包含有双值子序列 双值分别是 字典中的key和value
语法:
dr = {'name':'葫芦娃','age':18,'gender':'female','classmate':'男生'}
for i in dr.items():
代码块