212 lines
3.6 KiB
Markdown
212 lines
3.6 KiB
Markdown
---
|
||
title: List 列表
|
||
date: 2020-07-22 22:29:24
|
||
tags: [Python]
|
||
categories: [Python]
|
||
author: Anges黎梦
|
||
---
|
||
|
||
## List 列表
|
||
|
||
> 序列是Python中最基本的数据结构。
|
||
|
||
> 序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
|
||
|
||
> Python有6个序列的内置类型,但最常见的是列表和元组。
|
||
|
||
> 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
|
||
|
||
|
||
## 创建列表
|
||
|
||
> 创建列表,只需要用逗号把元素分割开,用方括号括起来。
|
||
```
|
||
list_1 = ['abc', 'def', 'jkjl', 12121]
|
||
print(list_1)
|
||
```
|
||
执行结果:
|
||
```
|
||
['abc', 'def', 'jkjl', 12121]
|
||
```
|
||
## index取值
|
||
> 列表中[]的用法,与字符串中的用法一致
|
||
>
|
||
> [开始位置:结束位置:幅度]
|
||
```
|
||
print(list_1[0]) # 列表中的第一个元素
|
||
print(list_1[-1]) # 列表中最后一个元素
|
||
print(list_1[::2]) # 从0到2的元素,前闭后开
|
||
```
|
||
执行结果:
|
||
```
|
||
abc
|
||
12121
|
||
['abc', 'jkjl']
|
||
```
|
||
## 更新列表
|
||
|
||
> append 在列表后,追加元素
|
||
```
|
||
list_2 = []
|
||
print(list_2)
|
||
list_2.append(111)
|
||
print(list_2)
|
||
list_2.append(222)
|
||
print(list_2)
|
||
list_2.append([1,2])
|
||
print(list_2)
|
||
# list_2[3] = 555 不可使用index方式,添加新元素
|
||
list_2[2] = 555 # 可以使用index的方式,更新元素
|
||
print(list_2)
|
||
```
|
||
执行结果:
|
||
```
|
||
[]
|
||
[111]
|
||
[111, 222]
|
||
[111, 222, [1, 2]]
|
||
[111, 222, 555]
|
||
```
|
||
## 删除列表中的元素
|
||
|
||
### del
|
||
```
|
||
del list_2
|
||
del list_2[0]
|
||
```
|
||
### remove
|
||
```
|
||
res = list_2.remove(111)
|
||
print(list_2)
|
||
print(res)
|
||
```
|
||
### pop
|
||
```
|
||
res = list_2.pop(0)
|
||
print(list_2)
|
||
print(res)
|
||
```
|
||
### remove与pop
|
||
|
||
- remove移除某一个元素,传递参数填写的是value值
|
||
|
||
- pop移除列表中的某一个元素,传递参数为list中的index序列号,
|
||
如果不填写参数,那么则移除最后一个元素。
|
||
|
||
区别:
|
||
|
||
- remove方法,没有返回值,pop会返回它移除的那个元素值。
|
||
|
||
## 列表统计
|
||
|
||
> 下面三个函数,最大和最小两个函数,比对的列表中,所有元素应为同一类型
|
||
```
|
||
print(len(list_2)) # 长度
|
||
print(max(list_2)) # 最大值
|
||
print(min(list_2)) # 最小值
|
||
```
|
||
执行结果:
|
||
```
|
||
3
|
||
555
|
||
111
|
||
```
|
||
## 列表合并
|
||
```
|
||
print(list_1+list_2)
|
||
```
|
||
执行结果:
|
||
```
|
||
['abc', 'def', 'jkjl', 12121, 111, 222, 555]
|
||
```
|
||
## 重复
|
||
```
|
||
list_3 = list_2 * 3
|
||
print(list_3)
|
||
```
|
||
执行结果:
|
||
```
|
||
[111, 222, 555, 111, 222, 555, 111, 222, 555]
|
||
```
|
||
## 判断元素是否存在
|
||
```
|
||
print(111 in list_2)
|
||
```
|
||
执行结果:
|
||
```
|
||
True
|
||
```
|
||
## list 转换为列表
|
||
```
|
||
a = "['q','t','y']"
|
||
print(list(a)) # 字符串中的每一个元素,当作列表中的每一个元素
|
||
```
|
||
执行结果:
|
||
```
|
||
['[', "'", 'q', "'", ',', "'", 't', "'", ',', "'", 'y', "'", ']']
|
||
```
|
||
## count
|
||
|
||
> 统计元素在列表中出现的次数
|
||
```
|
||
print(list_3.count(111))
|
||
```
|
||
执行结果:
|
||
```
|
||
3
|
||
```
|
||
## extend
|
||
|
||
> 列表末尾,添加另一个序列中的多个值
|
||
```
|
||
list_3.extend(list_1)
|
||
print(list_3)
|
||
```
|
||
执行结果:
|
||
```
|
||
[111, 222, 555, 111, 222, 555, 111, 222, 555, 'abc', 'def', 'jkjl', 12121]
|
||
```
|
||
## index
|
||
|
||
> 是在列表中找到第一个与搜索值相同的值的index,并返回index
|
||
```
|
||
print(list_2.index(111))
|
||
print(list_3.index(111))
|
||
```
|
||
执行结果:
|
||
```
|
||
0
|
||
0
|
||
```
|
||
## insert
|
||
```
|
||
list_2.insert(2, 888)
|
||
print(list_2)
|
||
```
|
||
执行结果:
|
||
```
|
||
[111, 222, 888, 555]
|
||
```
|
||
## sort reverse
|
||
```
|
||
list_2.sort(reverse=False) # False为从小到大,True为从大到小
|
||
print(list_2)
|
||
list_2.reverse() # 从大到小排序
|
||
print(list_2)
|
||
list_1.reverse()
|
||
print(list_1)
|
||
```
|
||
执行结果:
|
||
```
|
||
[111, 222, 555, 888]
|
||
[888, 555, 222, 111]
|
||
[12121, 'jkjl', 'def', 'abc']
|
||
```
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|