公共操作介绍
- 公共操作就是数据容器基本上都支持的一些操作,主要介绍 运算符,公共方法的使用;
- 常用的数据容器:字符串,列表,元组,字典,集合;
1、运算符
运算符 | 描述 | 支持类型 |
---|---|---|
+ | 合并 | 有序容器:字符串,列表,元组 |
* | obj * n obj 复制 n 次 | 有序容器:字符串,列表,元组 用法 : obj * n --- > obj 复制n次内容 |
in | 元素是否存在 | 所有容器:字符串,列表,元组,字典,集合 注意: 字典 判断的是key值 |
not in | 元素是否不存在 | 所有容器:字符串,列表,元组,字典,集合 |
2、公共方法
函数 | 描述 |
---|---|
len( obj ) | 返回容器的元素个数 |
del obj 或者 del(obj) | 销毁容器 |
max (obj ) | 返回容器元素的最大值 |
min (obj) | 返回容器元素的最小值 |
range(start,end,step) | 生成从start到end的数字,步长为step ,供for循环使用; 注意: 不能省略end ★★★★★ |
enumerate(obj, start=0) | 参数:obj:可迭代的容器; start:用来设置遍历数据的下标的起始值,默认0; 返回:元素是元组的枚举enumerate对象; |
# 测试 enumerate(迭代对象,start = 0) --- 返回枚举对象!元素是元组
lst =[22,33]
print(enumerate(lst)) # <enumerate object >
for item in enumerate(lst,10):
print(item)
# <enumerate object at 0x000001DA53417380>
# (10, 22)
# (11, 33)
3、容器转换方法
方法 | 功能 |
---|---|
list(seq) | 将某个序列转换为列表list; |
tuple(seq) | 将某个序列转换为元组tuple; |
set(seq) | 将某个序列转换为set; |
dict(**kwarg) | 一般是:将关键字参数转为 字典; |
# 测试 dict()
d1 = dict(a="100", b='200', c='300')
print(d1)
4、扩展:* 的学习
4.1 * 基本数据类型使用为乘法和乘方
a = 2
b =3
print(a*b) # 6 --- 乘法
print(a**b) # 8 --- 乘方
4.2 * 容器数据类型使用:复制功能
lst = ['a']
print(lst*3) # 复制3次元素形成新的容器
# ['a', 'a', 'a']
4.3 收集参数(可以称之为“打包”)
一般是形式参数为代表,接收参数打包;
接收数据 | 作用 |
---|---|
*args 位置参数 | 收集任意个数的位置参数; 按照位置传的参数被收集到元组中,并用变量 |
**kwargs 关键字参数 | 收集任意个数的关键词参数; 以关键词传的参数则用变量 |
4.4 容器类对象的解包:
一般是实参为代表,传递实参时候拆包;
def fun(x, y, z):
return x == 1, y == 2, z == 3
# 实现把元组传递到fun函数中
test = (11, 2, 33)
res = fun(*test) # 实参传递,使用 * 解包test元组
print(res) # (False, True, False)
以下是测试解包字典的使用,多敲代码运行体会使用!
def fun(x, y, z):
return x == 1, y == 2, z == 3
test = {'x':1, 'y':2, 'z':3}
res = fun(*test) # 实参传递,使用 * 解包字典得到的是key的解包数据
print(res)
# 实参传递,使用 ** 解包test得到的value!
# 注意:key必须要和参数列表的名字对应
res = fun(**test)
print(res)