概念:有序的可变
的元素集合
列表的生成
- 方式1:[元素1, 元素2…]
- 例如: nums = [1,2,3,4,5]
- 方式2:
- 列表生成式
- 语法:range(start, stop[, step])step默认值是1
注意 为了防止生成的列表没有被使用,python3做了一些改变,不会立即生成列表
- 列表推导式
从一个list, 推导出另外一个list
- 语法:[表达式 for 变量 in 列表]
-------- [表达式 for 变量 in 列表 if 条件]
- 列表生成式
- 列表的嵌套
列表中的元素, 还可以是列表
是否可以存放不同的数据类型
常用操作
增
-
append
-
作用:往列表中, 追加一个新的元素;在列表的最后
语法:l.append(object)
参数:object;想要添加的元素
返回值:None
注意 会直接修改原数组
insert
-
作用:往列表中, 追加一个新的元素;在指定索引前面
语法:l.insert(index, object)
参数:index;索引, 到时会插入到这个索引之前
object:想要添加的元素
返回值:None
注意 会直接修改原数组
extend
-
作用:往列表中, 扩展另外一个可迭代序列
语法:l.extend(iterable)
参数:iterable可迭代集合
返回值:None
注意 会直接修改原数组 和append之间的区别 extend可以算是两个集合的拼接 append是把一个元素, 追加到一个集合中
乘法运算
- [“a”] * 3 = [‘a’, ‘a’, ‘a’] 加法运算
-
[“a”] + [“b”, “c”] =[“a”, “b”, “c”]
和extend区别 只能列表类型和列表类型相加
删
-
del 语句
-
作用:可以删除一个指定元素(对象)
语法:del 指定元素
注意 可以删除整个列表 删除一个变量 也可以删除某个元素
pop
-
作用:移除并返回列表中指定索引对应元素
语法:l.pop(index=-1)
参数:index;需要被删除返回的元素索引
默认是-1
也就对应着列表最后一个元素
返回值被删除的元素
注意 会直接修改原数组 注意索引越界
remove
-
作用:移除列表中指定元素
语法:l.remove(object)
参数:object;需要被删除的元素
返回值:None
注意 会直接修改原数组 如果元素不存在 会报错 若果存在多个元素 则只会删除最左边一个 注意循环内删除列表元素带来的坑
改
names[index] = 666
查
-
获取单个元素
-
items[index]
注意负索引
获取元素索引
-
index()
获取指定元素个数
-
count()
获取多个元素
-
切片:items[start?step]
-
遍历
-
方式1:根据元素进行遍历
for item in list:
print(item) -
方式2:根据索引进行遍历
for index in range(len(list)):
print(index, list[index]) -
方式3(了解)
创建对应的枚举对象
概念
通过枚举函数, 生成的一个新的对象
作用
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列
同时列出数据下标和数据
语法
enumerate(sequence, [start=0])
sequence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。 -
方式4(了解)
使用迭代器进行遍历
iterL = iter(list)
for item in iterL:
print(item)额外操作
判定
-
-
元素 in 列表
元素 not in 列表
比较
-
比较运算符
==
>
<
…
针对每个元素, 从左到右逐一比较
排序
-
方式1:
- 内建函数,可以对所有可迭代对象进行排序
语法:sorted(itrearble, key=None, reverse=False)
参数:itrearble,可迭代对象
key:排序关键字
reverse:控制升序降序
默认False,升序
返回值:一个已经排好序的列表
方式2:
- 列表对象方法
语法:list.sort(key=None, reverse=False)
参数:key,排序关键字
reverse:控制升序降序
默认False,升序
乱序
- 内建函数,可以对所有可迭代对象进行排序
-
可以随机打乱一个列表
导入random模块
import random
random.shuffle(list)
反转
-
l.reverse()
切片反转
l[::-1]