列表
列表
- 列表List与编译型语言的数组类似,不同点是,数组数据类型一致,列表元素的数据类型可以不同
- 字符串能用,列表都能用
列表常用函数! | list |
---|---|
最后位置追加 | .extend ( ) |
任意位置插入元素 | .insert ( 插入的位置 , 插入的内容 ) |
删除元素 | .remove ( 元素内容 ) // .pop( 元素下标 ) |
正排序 | .sort ( ) |
逆排序 | .reverse ( ) |
列表赋值 | 因为解释型语言python没有指针,并且列表存储采用栈存储的方式,采用变量名指向数据栈空间 |
---|---|
例如: | a=[1,2,3,4] => b=a => b与a同时操作[1,2,3,4]这个列表 |
列表作为函数的参数! | 直接将列表名,作为函数参数,可以实现函数调用整个列表的数据 |
---|
- 注意:在函数内部对列表的操作会实际影响main函数的列表
- 注意:与列表操作不同,在函数与main函数对2个相同变量名的变量进行操作,两者不相关,参考前面的关于变量介绍的文章.
查找列表中的某个元素,并返回该元素第一次出现的位置 | [1,2,3].index( 2 ) ==> 1 |
---|
- 全部查找 ==> O ( n )
- 每次只查找一半 ==> O ( log 2 n )
时间复杂度!O ( ) | 只保留高阶项 |
---|---|
不同时间复杂度的增长率! |
2分查找图示与代码实现
( 例:找44 )
|
排序Sort
选择排序 | 每次选择最小的元素 |
---|---|
冒泡排序 | 元素像一个气泡,一直在向上冒! |
选择排序(循环找最小的元素放在第一位) | |
---|---|
冒泡排序(N给元素的列表,循环N次,将相邻的元素小的放左边) |
python函数内部的sorted内建排序函数 | 使用方法 |
---|---|
sorted ( ) 函数 | sorted ( 待排序的列表名 ) |
.sort()方法 | 列表名.sort( ) |
.sort( )方法详解! | 举例 |
---|---|
sort函数之参数reverse | reverse = Ture 表示正序 // reverse = False 表示逆序 |
sort函数之参数key函数>>>key函数指定取待排序元素的哪一项进行排序 |
|
- python内建函数sort函数采用的是快速排序,时间复杂度为O(nlog n)
嵌套列表=2维列表
二维列表 | 举例 |
---|---|
创建: | 二维列表名 = [ [ x , x , x ],[ x , x , x ],[ x , x , x ] ] |
取值: | 二维列表名 = [ 行 - 1 ] [ 列 - 1 ] |
列表的解析 | 举例 |
---|---|
解析形式: | [ 表达式 for 变量 in 列表 if 条件] |
例如:构建一个x*x,其中x取1,2,…8,9 | |
求X的因数之和 | |
求平均分 |
匿名函数lambda
- 匿名函数主要用于sort()排序的key函数
匿名函数 | lambda |
---|---|
注意: | 匿名函数无法直接调用,必须将它赋值给某个变量,该变量名就相等于该函数的映射关系 |
构建方法: | 变量 = lanmbda 参数名 : 代码块 |
例子: | f = lambda x : x*x >>> f( 4 ) == 16 |
例子: |