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]): 特点:索引满足含头不含尾的 ...
随机推荐
- bootstrap、qjuery、插件 、字体网页
http://www.bootcss.com/ 前端框架bootstrap http://www.fontawesome.com.cn/faicons/ 字体图标库 https://daneden.g ...
- JSONArray排序[收藏]
问题 JSONArray中嵌套JSONObject, 对JSONArray进行排序 排序前: [{"id":1,"name":"ljw"}, ...
- Wannafly挑战赛9 E - 组一组
链接:https://www.nowcoder.net/acm/contest/71/E来源:牛客网 题目描述 有一个长为 n 的数列 A,其中有 m 个限制条件,条件有两种: 1.对于区间 [l,r ...
- Vue双向绑定原理详解
前言:Vue最核心的功能之一就是响应式的数据绑定模式,即view与model任意一方改变都会同步到另一方,而不需要手动进行DOM操作,本文主要探究此功能背后的原理. 思路分析 以下是一个最简单的双向绑 ...
- Docker for Windows(一)下载与安装
一.下载Docker for Windows 下载地址:Docker for Windows 下载完是一个安装程序,双击运行即可.注:如果您的系统不符合运行Docker for Windows的要求, ...
- Drupal8学习之路--官网文档碎碎记--主题篇
主要记录一些琐碎的知识点. 1.“In Drupal 8 drupal_add_css(), drupal_add_js() and drupal_add_library()were removed ...
- css中单位em和rem的区别
在css中单位长度用的最多的是px.em.rem,这三个的区别是: px是固定的像素,一旦设置了就无法因为适应页面大小而改变. em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定 ...
- Jquery对于input事件的处理
Jquery对于input事件的处理.获取此表单元素,以及其内容 .text()不能使用在表单选项上 要使用.val() input元素使用类似onblur(this),事件在function(obj ...
- opencv3.2.0形态学滤波之形态学梯度、顶帽、黑帽
/*一.形态学梯度 (1)含义:是膨胀图和腐蚀图之差 (2)数学表达式:dst=morph-grad(src,element) =dilate(src,element) - erode(src,ele ...
- 知识蒸馏(Distillation)
蒸馏神经网络取名为蒸馏(Distill),其实是一个非常形象的过程. 我们把数据结构信息和数据本身当作一个混合物,分布信息通过概率分布被分离出来.首先,T值很大,相当于用很高的温度将关键的分布信息从原 ...