python第二十二课——list函数
演示list类型中常用的一些函数: 1、append(obj):将obj元素追加到列表的末尾
lt=['路费','佐罗','山治','乔巴','乌索普','纳米桑'] #append():
lt.append('香克斯')
print(lt,len(lt)) lt.append(['鸣人','佐助','樱','卡卡西'])
print(lt,len(lt))
2.extend(iterable):将序列对象中的各个元素分别得到往列表的末尾追加
lt.append(['鸣人','佐助','樱','卡卡西'])
print(lt,len(lt))
lt.extend('大蛇丸')
print(lt,len(lt))
extend()函数参数只能接受iterable(可迭代对象),由于int不属于可迭代对象,
所以出错了,错误类型:TypeError
lt.extend(100)
print(lt,len(lt))
3、index(obj):返回列表中obj元素首次出现的位置;如果obj不存在于列表中,报错
count(obj):返回列表中obj元素一共出现了多少次;如果obj不存在于列表中,返回0
lt=['路费','佐罗','山治','乔巴','乌索普','纳米桑','山治']
print(lt.index('山治'))
以下代码出错了:
原因:index()函数接受的时机参数如果不存在于列表中,只会报错:
print(lt.index('山治啊'))
print(lt.count('山治'))
#对于count()函数而言,如果不匹配,不会报错,返回0
print(lt.count('山治啊'))
4、pop():如果不传递参数,弹出列表最终的一个元素(返回值);
如果传递参数,只能传递索引内容,将索引位置上的元素弹出
remove(obj):删除列表中首次匹配成功的obj元素,没有返回值
clear():清空列表
lt2=['路费','佐罗','山治','乔巴','乌索普','纳米桑','山治'] print(lt2.pop())
print(lt2) lt2.pop(2)
print(lt2)
以下代码报错:
原因:pop()函数的参数只能接受索引值,不能接受实体内容
lt2.pop('乔巴')
print(lt2.remove('乌索普')) #remove()函数执行完毕了,没有返回值
print(lt2)
print(lt2.remove('山治')) #remove()函数只能删除最先匹配成功的一个数据,不能删除多个
print(lt2)
lt2.clear()
print(lt2)
5、sort(reverse,key):默认对于列表元素升序排列(reverse=False),如果传入reverse=True就是降序排列了
reverse():将列表中的元素进行反转
lt3=[31,22,44,66,7,-11,24,5,-54,33] lt3.sort(reverse=True)
print(lt3) lt3.reverse()
print(lt3)
6、copy():拷贝列表内容,生成一个新的列表返回 -->浅拷贝
copy模块中有如下两个函数:
copy():和list中的copy一样理解;--> 浅拷贝
deepcopy():属于深拷贝 以下内容很重要,一定好好听...
谈论:浅拷贝和深拷贝
涉及的函数:
列表中的copy(),copy模块中的copy以及deepcopy() 浅拷贝:
1).引用传递(地址传递) 代码:lt1=lt
2).列表的copy()和copy模块中copy()也都是 深拷贝:
copy模块中的deepcopy()
import copy
lt4=[11,22,33,44,55,[1,2,3]]
lt5=lt4 lt6=lt4.copy()
lt7=copy.copy(lt4)
lt8=copy.deepcopy(lt4) # lt4.append()
lt4[-1].append(4)
print(lt4,id(lt4)) #[11, 22, 33, 44, 55, [1, 2, 3, 4]] 15406704
print(lt5,id(lt5)) #[11, 22, 33, 44, 55, [1, 2, 3, 4]] 15406704
print(lt6,id(lt6)) #[11, 22, 33, 44, 55, [1, 2, 3, 4]] 15407464
print(lt7,id(lt7)) #[11, 22, 33, 44, 55, [1, 2, 3, 4]] 17373144
print(lt8,id(lt8)) #[11, 22, 33, 44, 55, [1, 2, 3]] 17428768 print(lt4)
print(lt5)
print(lt6)
print(lt7)
print(lt8)
python第二十二课——list函数的更多相关文章
- NeHe OpenGL教程 第二十二课:凹凸映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...
- python第二十九课——文件读写(读取读取中文字符)
演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...
- python六十二课——高阶函数之filter
高阶函数之:filter函数:过滤数据的,最终返回一个惰性序列对象(filter对象,迭代器对象)解释:filter的意思:在计算机领域中我们都称为过滤器格式:filter(fn,lsd):参数和ma ...
- python第二十四课——set中的函数
集合中常用的一些函数: 1.add(obj):追加一个obj元素到集合中 pop():从集合中随机弹出一个元素 remove(obj):删除集合中和obj匹配的元素 clear():清空集合 s1={ ...
- Python学习第二十二课——Mysql 表记录的一些基本操作 (增删改)
记录基本操作: 增:(insert into) 基本语法: insert into 表名(字段) values(对应字段的值): 例子1: insert into employee(id,name,a ...
- 第二十二课:js事件原理以及addEvent.js的详解
再看这篇博客之前,希望你已经对js高级程序编程一书中的事件模块进行了详读,不然我只能呵呵了. document.createEventObject,在IE下创建事件对象event. elem.fire ...
- python第二十六课——装饰器
装饰器是闭包的一种使用场景: python中的装饰器在定义上需要传入一个函数对象, 在此函数执行之前或者之后都可以追加其它的操作, 这样做的好处是,在不改变源码(原本业务逻辑的)同时,进行功能的扩展: ...
- python第十二课——for in循环
1.for...in循环: 有两个使用场景: 场景一:for in和range对象配合使用 range对象的引入讲解 格式:range([start,end,step]): 特点:索引满足含头不含尾的 ...
随机推荐
- 防止TableView 上的tap手势隔断 cell的选择
遵循UIGestureRecognizerDelegate协议: 1.0添加手势 - (void)addTapGest { UITapGestureRecognizer *tap = [[U ...
- gRPC的通讯过程
在 HTTP2 协议正式开始工作前, 如果已经知道服务器是 HTTP2 的服务器, 通讯流程如下: 客户端必须首先发送一个连接序言,其逻辑结构: PRI * HTTP/2.0\r\n\r\nSM\r\ ...
- 悟空模式-java-抽象工厂模式
[一朝,王母娘娘设宴,大开宝阁,瑶池中做蟠桃胜会] 有一天,王母娘娘要在瑶池办party,就需要准备大量的食材.要知道,天上的神仙也分三六九等,九曜星.五方将.二十八宿.四大天王.十二元辰.五方五老. ...
- 鼠标键盘失灵对策(Windows8.1)
Win8.1虽然比Windows Server 2008R2开关机速度快好多.可惜用了一年后发现Win8.1 大bug. 鼠标键盘老是失灵... 对应方案: 1. 将鼠标键盘的USB插头更换位置,比如 ...
- PECL: configuration option "php_ini" is not set to php.ini location
message similar to: configuration option "php_ini" is not set to php.ini locationYou shoul ...
- CSS属性之attr()
attr()准确的说,不应该是一个属性,而是一个CSS的函数,我们先看看MDN上的介绍吧: Summary The attr() CSS function is used to retrieve th ...
- h5新属性
<!DOCTYPE html> <html lang="en"> <head> <meta id="viewport" ...
- cookie封装函数与使用方法(转)
函数封装: var Cookie = function(name, value, options) { // 如果第二个参数存在 if (typeof value != 'undefined') { ...
- hadoop HA集群搭建步骤
NameNode DataNode Zookeeper ZKFC JournalNode ResourceManager NodeManager node1 √ √ √ √ node2 ...
- Java 接口和多态
接口 1.1 接口的概述 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样 ...