Python基础–列表知识点总结
这里,小便将分享自己对Python列表的理解,希望对大家的学习有帮助,如果有错误,欢迎指正,谢谢大家!
基本概念
- 列表,与元组和字符串 统称为序列。
- 序列是一种基本数据结构,用于保存一批数据,且能通过索引导出数据,如,a[0],a[1]等。
序列的分类
- 可变序列:即可改变序列元素,如列表(list)
- 不可变序列:即不可变序列元素,如元组(tuple),字符串(str)
列表
- 列表是一个对象
- 列表内可以同时放任意且不同类型的数据
- 列表可以嵌套列表
列表的创建与注意事项
- 创建方式:a=[ ]
- 注意事项:
-
列表变量赋值给列表变量 ,这里称之引用。这里,可以理解为 “共生体”,一旦引用之后,改变其一,另一个也会改变,例如:
-
- 解决方法:
- 利用列表切片 A = B[ : ] ,接下会讲到。
- 深拷贝 A = copy.deepcopy(B) ,下面也会讲到。
列表切片
-
概念:从现有列表中获得一个子列表
-
语法: 列表[起始(不写默认开头) : 结束(不写默认到结尾) : 步长(默认值为1)],步长不能为0,但可以为负数,例如:
print(a[ : : -1 ])表示逆向输出 -
切取规则 : 要头不要尾
通用操作方法(str tuple list)
- + 拼接序列 ,例如 a=[1,2]+[3,4] --> a=[1,2,3,4]
- · * 重复次数,例如:b=[1,2,3]*2 --> b=[1,2,3,1,2,3]
- in 和 not in
- in用来检查指定元素是否在列表当中,存在返回True
- not in 用来检查指定元素是否不在列表当中,不存在返回True
- len() 获取列表中元素的个数
- max() 获取列表中最大值
- min() 获取列表中最小值
- list.index(x[, start[, end]])
- 第一个参数 获取指定元素在列表中的位置
- 第二个参数 表示查找的起始位置(不写则默认开头)
- 第三个参数 表示查找的结束位置(不写则默认结尾)
修改列表
-
通过索引直接赋值修改。这里需要注意,如果使用切片,需要一一对应;或者用切片 赋的值是序列,则会逐一索引插入,这里举例希望能够帮助大家理解,
-
没有使用步长
-
使用步长修改
-
用切片赋值序列
-
-
删除元素:del list[起始 : 结束]
列表方法
-
append() 像列表的最后添加一个元素,注意这里没有返回值
这里可以看到 将 a.append([7,8,9])赋值给 b
然而,输出b为None,但是a.append([7,8,9])仍然生效 -
insert(元素位置arg1,插入元素arg2) 像列表指定位置插入一个元素
-
extend(iterable) 使用一个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递一个序列
-
pop() 根据索引删除并返回指定元素
-
remove() 删除指定元素 (如果相同值的元素有多个,只会删除第一个)
-
reverse() 翻转列表,永久修改且无返回值
-
sort(key=None,reverse=False) 用来对列表中的元素进行排序,同样无返回值 reverse:True反序;False 正序
例题
1.现在有a=[1,2,3,4,5,6],用多种方式实现列表反转([6,5,4,3,2,1])
(这道题很简单,利用上面讲的方法)
方法一:a[::-1]
方法二,a.reverse()
方法三,sort(key=None,reverse=False)
2.有两个列表lst1 =[11,22,33],lst2=[22,33,44],获取内容相同元素
思路:循环遍历——相同获取——空列表储存——输出