python_list 之 基本操作
来源:互联网 发布:如何用网络电视连手机 编辑:程序博客网 时间:2024/05/14 19:50
List 是有序集合,类似c中的数组,
添加元素
对其添加元素一般有四种基本操作:
1.append( )
2.extend( )
3.insert( )
4. +
Ⅰ. append( )
格式:list.append( 参数 )
添加单个参数到list尾部,参数可以为任意数据类型。
特点为 整体添加,会保持原来的数据类型
如上,list1.append(list2) 将list2 整体加入 list1 尾部,list1[2]即list2
Ⅱ. extend( )
格式:list.extend( 参数 )
将单个参数添加到 list 尾部 ,该参数数据类型一般是list (如果是元组,会被打散添加入list,如果是字典,则只会读入key)
由此可见,extend 是将 参数list2 中的每个元素打散后依个添加入list1
Ⅲ. Insert( )
格式:insert(index,element)
将一个元素插入到list中指定位置,包含两个参数:index元素插入的位置,element 元素本身
Ⅳ. +
格式: list_1+list_2
与上述三个操作不同的是,上述三个操作是直接对list本身进行修改,无返回值。+ 操作是生成一个全新的list对象。缺陷也就是会浪费空间。Attention: 少用 + 操作。
删除元素
一般有三种操作:
1. List.Remove( 参数 )
2. List.pop( 参数 )
3. Del( 参数 )
Ⅰ. Remove()
格式:List.Remove( 参数 )
参数为具体的值,删除list中第一个与参数值相等的元素
Attention:remove()使用索引进行删除可能出错!
Ⅱ. Pop()
格式:list.pop( index )
参数为 list 中 对应要删除的元素的 索引,若无参数,则默认删除最后一个元素(类似 STL_栈)。
Pop()有返回值,返回值为被删除的元素。
Ⅲ. Del( )
格式:del(参数)
参数为 list中的元素,用index表示
添加与删除总结:
① 删除list中的一个元素后,后续元素后立刻补缺,index随之变化,所以存在一个遍历删除时的安全性问题:
如图所示,想要遍历删除a中的所有元素,结果发现只删除了1,3,剩下2没有被删除,这就是因为在remove( 1 )后,后续元素补缺,而for循环中的index则往后继续推进(+1),可是a本身长度却减少了(-1),所以安全靠谱的遍历删除code如下:
② Append()+pop()即可模拟C++中的入栈出栈操作
③ Append()+pop(0)即可模拟C++中的 队列
常用list操作函数
1. min()返回list最小元素
2. max()返回list最大元素
3. len()返回list元素个数
4. cmp()比较两个列表,返回值有1(>),-1(<),0(=)
a) 如果元素类型相同,则比较值,返回结果
b) 如果元素类型相同,则强制转化:
i. 如果是不同类型的数字,执行数字类型转化后比较
ii. 如果有一方是数字,则数字的权值最小,小于list,tuple,dictionary
iii. 如果都不是数字,按类型名字的字母顺序进行比较
c)如果相等则判断下一个元素,若完全相同则返回0,若前面都相同,但有一个list已到达列尾,则该list 小。
5. list.count(参数 ) 返回某元素在list出现的次数
6. list.reserve(list名 ) 将list反转,无返回值
7. list.index( 参数 ) 返回list中的第一个出现参数的索引位置
8. list.sort( [function] ) 将list中元素按照function进行排序(后续将详细学习)
- python_list 之 基本操作
- Python_list
- Python_List
- python_list
- MYSQL之基本操作
- 基本操作之:SVN
- Elasticsearch之基本操作
- Elasticsearch之基本操作
- Elasticsearch之基本操作
- Elasticsearch之基本操作
- Python_list和tuple
- oracle基本操作之(一)
- javascript之文件基本操作
- zookeeper之基本操作命令
- OpenCV之图像基本操作
- opencv3-core之基本操作
- Unity之Unity基本操作
- 二叉树之基本操作
- UVALive 4329 (树状数组)
- 蓝桥试题测试---序列求和
- Raspberry Pi3 串口问题
- JSP页面间传值、前后端传值及EL表达式
- histogramequalization
- python_list 之 基本操作
- 关于学习Hadoop中未总结的资料
- Oracle创建自增长主键
- Python并发机制(二)——多线程
- Qt: QLineEdit圆角边框,选中时变色,显示图标
- Python爬虫入门七之正则表达式
- 第十二周项目一递归方法实现逆序
- Hadoop集群系列(目录)
- 学习Hadoop不错的系列文章