Python -- 2 语法基础(二)
目录
一、列表
1、列表的格式
[数据1,数据2,数据3....]
列表可以一次性存储多个数据,且可以为不同的数据类型。
2、列表的查找
- 通过下标查找
- index():返回指定数据所在位置的下标。
- count():统计指定数据在当前列表中出现的次数。
- len():访问列表长度,即列表中数据的个数。
- 判断是否存在
- in:判断指定数据在某个列表序列,如果在返回True,否则返回False
- not in:判断指定数据不在某个序列,如果不在返回True,否则返回False
3、增加
- append():列表结尾追加数据。
- extend():将指定的列表元素(或任何可迭代的元素)添加到当前列表的末尾。
- insert():指定位置新增数据。
列表在追加数据的时候,直接追加在原列表中,故列表是可变类型
4、删除
- del
- pop():删除指定下标的数据(默认为最后一个),并返回该数据。
- remove():移除列表中某个数据的第一个匹配项。
- chear():清空列表
5、修改
- 通过下标修改
- 逆置:reverse()
- 排序:sort()
6、复制:copy()
7、列表的循环遍历
执行结果:
8、列表嵌套
列表嵌套是指一个列表中包含其他子列表。
9、应用 -- 随机分配办公室
二、元组
元组可以存储多个数据,元组内的数据是不能修改的,属于不可变类型。
1、定义元组
定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型
2、查找
- 按下标查找
- index() :查找某个数据,数据存在返回对应下标,数据不存在报错 与字符串的index方法相同
- count() :统计某个数据出现次数
- len() :统计元组中数据的个数
ps:元组内的数据直接修改报错,但是如果元组内有列表修改列表数据则支持。
三、字典
字典可以进行修改,所有字典是可变类型
1、创建字典
字典的特点:
- 符号为大括号
- 数值以键值对形式出现
- 各键值对之间由逗号隔开
冒号前面的为键(key),简称k ;冒号后面的为值(value),简称v。
2、增加
字典[key] = 值
如果key存在则修改这个key对应的值,如果key不存在则新增此键值对。
3、删除
- del() / del :删除字典或删除字典中指定键值对。
- chear() :清空字典
4、修改
字典[key] = 值
注:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对。
5、查找
- 通过key值查找 ,若查找的key存在,则返回对应的值,否则报错。
- get()
- keys()
- values()
- items()
6、字典的循环遍历
执行结果:
四、集合
1、创建集合
创建集合使用 { } 或者set( ) , 但是如果要创建空集合只能使用set(),因为{ }用户创建字典。
集合的特点:
- 集合可以去掉重复数据;
- 集合数据是无序的,故不支持下标
2、增加
- add()
- update():追加的数据为序列
集合有去重功能,所有当向集合追加数据是当前集合已有数据的话,则不进行任何操作。
3、删除
- remove():删除集合中的指定数据,如果数据不存在则报错。
- discard():删除集合中的指定数据,如果数据不存在也不会报错。
- pop():随机删除集合中的某个数据,并返回这个数据。
4、查找
- in:判断数据在集合中
- not in:判断数据不在集合中
可变类型与不可变类型
可变数据类型:list(列表)、dict(字典)、set(集合)
不可变数据类型:数值类型、string(字符串)、tuple(元组)
五、公共操作
1、运算符
运算符 | 描述 | 支持容器类型 |
+ | 合并 | 字符串、列表、元组 |
* | 复制 | 字符串、列表、元组 |
in | 元素是否存在 | 字符串、列表、元组、字典 |
not in |
元素是否不存在 | 字符串、列表、元组、字典 |
- +
- *
- in 、 not in
2、公共方法
函数 | 描述 |
len() | 计算容器中元素个数 |
del 或者 del() | 删除 |
max() | 返回容器中元素最大值 |
min() | 返回容器中元素最小值 |
range(start , end , step) | 生成从start到end的数字,步长为step,供for循环只用 |
enumerate() | 函数用于将一个可遍历的数据对象(如:列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用于for循环 |
- enumerate(可遍历对象,srart=0)
注:start参数用来设置遍历数据下标起始值,默认为0
执行结果:
3、容器类型转换
- tuple():将某个序列转换为元组
- list():将某个序列转换为列表
- set():将某个序列转换为集合 (集合可以快速完成去重,集合不支持下标)
六、推导式
1、列表推导式
[xx for xx in range()]
2、字典推导式
[xx1:xx2 for ... in ...]
3、集合推导式
[xx for xx in ...]