### 1.2 列表常用操作
* 在 `ipython3` 中定义一个 **列表**,例如:`name_list = []`
* 输入 `name_list.` 按下 `TAB` 键,`ipython` 会提示 **列表** 能够使用的 **方法** 如下:
```
In [1]: name_list.
name_list.append name_list.count name_list.insert name_list.reverse
name_list.clear name_list.extend name_list.pop name_list.sort
name_list.copy name_list.index name_list.remove
```
| 序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
| --- | --- | --- | --- |
| 1 | 增加 | 列表.insert(索引, 数据) | 在指定位置插入数据 |
| | | 列表.append(数据) | 在末尾追加数据
| | | 列表.extend(列表2) | 将列表2 的数据追加到列表 |
| 2 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据 |
| 3 | 删除 | del 列表[索引] | 删除指定索引的数据 |
| | | 列表.remove[数据] | 删除第一个出现的指定数据 |
| | | 列表.pop | 删除末尾数据 |
| | | 列表.pop(索引) | 删除指定索引数据 |
| | | 列表.clear | 清空列表 |
| 4 | 统计 | len(列表) | 列表长度 |
| | | 列表.count(数据) | 数据在列表中出现的次数 |
| 5 | 排序 | 列表.sort() | 升序排序 |
| | | 列表.sort(reverse=True) | 降序排序 |
| | | 列表.reverse() | 逆序、反转 |
#### del 关键字(科普)
* 使用 `del` 关键字(`delete`) 同样可以删除列表中元素
* `del` 关键字本质上是用来 **将一个变量从内存中删除的**
* 如果使用 `del` 关键字将变量从内存中删除,后续的代码就不能再使用这个变量了
```python
del name_list[1]
```
> 在日常开发中,要从列表删除数据,建议 **使用列表提供的方法**
#### 关键字、函数和方法(科普)
* **关键字** 是 Python 内置的、具有特殊意义的标识符
```python
In [1]: import keyword
In [2]: print(keyword.kwlist)
In [3]: print(len(keyword.kwlist))
```
> 关键字后面不需要使用括号
* **函数** 封装了独立功能,可以直接调用
```python
函数名(参数)
```
> 函数需要死记硬背
* **方法** 和函数类似,同样是封装了独立的功能
* **方法** 需要通过 **对象** 来调用,表示针对这个 **对象** 要做的操作
```python
对象.方法名(参数)
```
> 在变量后面输入 `.`,然后选择针对这个变量要执行的操作,记忆起来比函数要简单很多
### 1.3 循环遍历
* **遍历** 就是 **从头到尾** **依次** 从 **列表** 中获取数据
* 在 **循环体内部** 针对 **每一个元素**,执行相同的操作
* 在 `Python` 中为了提高列表的遍历效率,专门提供的 **迭代 iteration 遍历**
* 使用 `for` 就能够实现迭代遍历
```python
# for 循环内部使用的变量 in 列表
for name in name_list:
循环内部针对列表元素进行操作
print(name)
```

### 1.4 **应用场景**
* 尽管 `Python` 的 **列表** 中可以 **存储不同类型的数据**
* 但是在开发中,更多的应用场景是
1. **列表** 存储相同类型的数据
2. 通过 **迭代遍历**,在循环体内部,针对列表中的每一项元素,执行相同的操作### 1.2 列表常用操作
* 在 `ipython3` 中定义一个 **列表**,例如:`name_list = []`
* 输入 `name_list.` 按下 `TAB` 键,`ipython` 会提示 **列表** 能够使用的 **方法** 如下:
```
In [1]: name_list.
name_list.append name_list.count name_list.insert name_list.reverse
name_list.clear name_list.extend name_list.pop name_list.sort
name_list.copy name_list.index name_list.remove
```
| 序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
| --- | --- | --- | --- |
| 1 | 增加 | 列表.insert(索引, 数据) | 在指定位置插入数据 |
| | | 列表.append(数据) | 在末尾追加数据
| | | 列表.extend(列表2) | 将列表2 的数据追加到列表 |
| 2 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据 |
| 3 | 删除 | del 列表[索引] | 删除指定索引的数据 |
| | | 列表.remove[数据] | 删除第一个出现的指定数据 |
| | | 列表.pop | 删除末尾数据 |
| | | 列表.pop(索引) | 删除指定索引数据 |
| | | 列表.clear | 清空列表 |
| 4 | 统计 | len(列表) | 列表长度 |
| | | 列表.count(数据) | 数据在列表中出现的次数 |
| 5 | 排序 | 列表.sort() | 升序排序 |
| | | 列表.sort(reverse=True) | 降序排序 |
| | | 列表.reverse() | 逆序、反转 |
#### del 关键字(科普)
* 使用 `del` 关键字(`delete`) 同样可以删除列表中元素
* `del` 关键字本质上是用来 **将一个变量从内存中删除的**
* 如果使用 `del` 关键字将变量从内存中删除,后续的代码就不能再使用这个变量了
```python
del name_list[1]
```
> 在日常开发中,要从列表删除数据,建议 **使用列表提供的方法**
#### 关键字、函数和方法(科普)
* **关键字** 是 Python 内置的、具有特殊意义的标识符
```python
In [1]: import keyword
In [2]: print(keyword.kwlist)
In [3]: print(len(keyword.kwlist))
```
> 关键字后面不需要使用括号
* **函数** 封装了独立功能,可以直接调用
```python
函数名(参数)
```
> 函数需要死记硬背
* **方法** 和函数类似,同样是封装了独立的功能
* **方法** 需要通过 **对象** 来调用,表示针对这个 **对象** 要做的操作
```python
对象.方法名(参数)
```
> 在变量后面输入 `.`,然后选择针对这个变量要执行的操作,记忆起来比函数要简单很多
### 1.3 循环遍历
* **遍历** 就是 **从头到尾** **依次** 从 **列表** 中获取数据
* 在 **循环体内部** 针对 **每一个元素**,执行相同的操作
* 在 `Python` 中为了提高列表的遍历效率,专门提供的 **迭代 iteration 遍历**
* 使用 `for` 就能够实现迭代遍历
```python
# for 循环内部使用的变量 in 列表
for name in name_list:
循环内部针对列表元素进行操作
print(name)
```
### 1.4 **应用场景**
* 尽管 `Python` 的 **列表** 中可以 **存储不同类型的数据**
* 但是在开发中,更多的应用场景是
1. **列表** 存储相同类型的数据
2. 通过 **迭代遍历**,在循环体内部,针对列表中的每一项元素,执行相同的操作