目录
1. 列表介绍
- 说明:支持多种 复合 数据类型,可将不同值组合在一起。最常用的 列表 ,是用方括号标注,逗号分隔的一组值。列表 可以包含不同类型的元素,但一般情况下,各个元素的类型相同。注:列表是可变类型
2. 常见操作
添加元素("增"append, extend, insert)
- append():末尾追加
- extend(iterable):将另一个集合中的元素逐一添加到列表中
- insert(index, object) :在指定位置index前插入元素object
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
# 定义空列表A
A = list()
# append可以向列表添加元素
A.append('产品')
print(A) # ['产品']
# 将另一个集合中的元素逐一添加到列表中
a = [1, 2]
b = [3, 4]
a.extend(b)
print(a) # [1, 2, 3, 4]
a.append(b)
print(a) # [1, 2, 3, 4, [3, 4]]
# 在指定位置index前插入元素object
a = [0, 1, 2]
a.index(0, 0)
print(a)
修改元素("改")
- list[index] = value
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
# 通过索引修改值
a = [1, 2, 3, 4]
a[0] = 'a'
print(a)
查找元素("查"in, not in, index, count)
- index(value):返回某个值在列表中的索引
- count(value):返回某个值在列表中出现的次数
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
a = [1, 2, 3, 4]
if 1 in a:
print('1在列表a中')
# 返回在列表中的索引值
print(a.index(2)) # 1
# 返回在列表中出现的次数
print(a.count(2))
print(a.count(0))
删除元素("删"del, pop, remove)
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
clear
():删除列表里的所有元素,相当于del a[:]
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
movieName = ['加勒比海盗', '骇客帝国', '第一滴血', '指环王', '霍比特人', '速度与激情']
del movieName[0]
print(movieName)
# 可以根据索引删除,默认删除最后一个
movieName.pop()
print(movieName)
movieName.pop(0)
print(movieName)
# 根据值删除
movieName.remove('指环王')
print(movieName)
# 删除全部 相当于 del movieName[:]
movieName.clear()
# del movieName[:]
print(movieName)
排序(sort, reverse)
- sort():将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
- reverse():将list逆置
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
a = [1, 4, 2, 3]
a.sort()
print(a)
a.sort(reverse=True)
print(a)
b = ['a', 'c', 'b']
b.reverse()
print(b)
其他
list.
copy
():返回列表的浅拷贝。相当于a[:]
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
a = [1, 2, 3]
print(a.copy())
3. 列表推导式
- 常见用法:对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。
# -*- coding: utf-8 -*-
# @Time : 2021/1/30
# @Author : 大海
# 计算0-9的平方
squares = [x ** 2 for x in range(10)]
print(squares)
squares = list(map(lambda x: x ** 2, range(10)))
print(squares)
# 输出小于2的值
vec = [-4, -2, 0, 2, 4]
list_one = [i for i in vec if i < 2]
print(list_one)
4. 序列类型通用方法
运算 | 结果 |
---|---|
| 如果 s 中的某项等于 x 则结果为 |
| 如果 s 中的某项等于 x 则结果为 |
| s 与 t 相拼接 |
| 相当于 s 与自身进行 n 次拼接 |
| s 的第 i 项,起始为 0 |
| s 从 i 到 j 的切片 |
| s 从 i 到 j 步长为 k 的切片 |
| s 的长度 |
| s 的最小项 |
| s 的最大项 |
| x 在 s 中首次出现项的索引号(索引号在 i 或其后且在 j 之前) |
| x 在 s 中出现的总次数 |