# 列表

Python 有 6 个序列的内置类型，但最常见的是列表和元组。

```python
user_list = ['张三', '李四', '王五', '赵六']

# 访问元组
print(user_list[0])  # 张三
print(user_list[-1])  # 赵六

# 访问某一段
print(user_list[1:3])  # ['李四', '王五']

# 访问所有
print(user_list[:])  # ['张三', '李四', '王五', '赵六']

# 访问从开始到倒数第二个
print(user_list[:-1])  # ['张三', '李四', '王五']

# 访问从开始到倒数第二个
print(user_list[:-1])  # ['张三', '李四', '王五']
```

## 列表常见方法

| 方法          | 描述                                |
| ----------- | --------------------------------- |
| `append()`  | 在列表末尾添加元素                         |
| `insert()`  | 在指定位置插入元素                         |
| `remove()`  | 移除指定元素                            |
| `pop()`     | 移除列表中的一个元素（默认最后一个元素），并且返回该元素的值    |
| `clear()`   | 清空列表                              |
| `sort()`    | 对列表进行排序                           |
| `reverse()` | 反向列表中元素                           |
| `count()`   | 统计某个元素在列表中出现的次数                   |
| `index()`   | 从列表中找出某个值第一个匹配项的索引位置              |
| `extend()`  | 在列表末尾一次性追加另一个序列中的多个值（用新列表扩展原来的列表） |
| `copy()`    | 复制列表                              |
| `len()`     | 计算列表元素个数                          |
| `max()`     | 返回列表元素最大值                         |
| `min()`     | 返回列表元素最小值                         |
| `sum()`     | 返回列表元素之和                          |

```python
user_list = ['张三', '李四', '王五', '赵六']

# append 在列表末尾添加元素，该方法五返回值，会修改原列表
user_list.append('周七')
print(user_list)  # ['张三', '李四', '王五', '赵六', '周七']

# insert 在指定位置插入元素，该方法无返回值，会修改原列表
user_list.insert(0, '周七')
print(user_list)  # ['周七', '张三', '李四', '王五', '赵六']

# remove 移除指定元素，该方法无返回值，会修改原列表
user_list.remove('周七')
print(user_list)  # ['张三', '李四', '王五', '赵六']

# pop 移除列表中的一个元素（默认最后一个元素），并且返回该元素的值，该方法有返回值，会修改原列表
user_list.pop()
print(user_list)  # ['张三', '李四', '王五']

# clear 清空列表，该方法无返回值，会修改原列表
user_list.clear()
print(user_list)  # []

# sort 对列表进行排序，该方法无返回值，会修改原列表
user_list.sort()
print(user_list)  # ['张三', '李四', '王五', '赵六']

# reverse 反向列表中元素，该方法无返回值，会修改原列表
user_list.reverse()
print(user_list)  # ['赵六', '王五', '李四', '张三']

# count 统计某个元素在列表中出现的次数
print(user_list.count('张三'))  # 1

# index 从列表中找出某个值第一个匹配项的索引位置
print(user_list.index('张三'))  # 0

# extend 在列表末尾一次性追加另一个序列中的多个值（用新列表扩展原来的列表）
user_list.extend(['周七', '吴八'])
print(user_list)  # ['赵六', '王五', '李四', '张三', '周七', '吴八']

# copy 复制列表
user_list2 = user_list.copy()
print(user_list2)  # ['赵六', '王五', '李四', '张三', '周七', '吴八']

# len 计算列表元素个数
print(len(user_list))  # 6

# max 返回列表元素最大值
print(max(user_list))  # 赵六

# min 返回列表元素最小值
print(min(user_list))  # 张三

# sum 返回列表元素之和
print(sum(user_list))  # 24
```
