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]): 特点:索引满足含头不含尾的 ...
随机推荐
- 微信开放平台Android应用的签名
微信开放平台Android应用签名的本质便是我们签名文件keystore的MD5值. keytool -list -v -keystore qj_test.keystore 获得: 别名: naoli ...
- .net面试题[转载]
1.简述private.protected.public.internal修饰符的访问权限. private:私有成员,在类的内部才可以访问. protected:保护成员,该类内部和继承类中可以访问 ...
- 使用springcloud gateway搭建网关(分流,限流,熔断)
Spring Cloud Gateway Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 ...
- eclipse编译项目:Java @Override 注解报错的解决方法
错误: 在 eclipse 的新工作空间开发项目时,出现大面积方法编译错误.鼠标放在方法名上后显示让我们去掉 @override 注解,如图: 原因: @Override 是 jdk5 引入的机制,但 ...
- 基于JSP的RSS阅读器的设计与实现
阅读器访问地址:http://easyrss.tk/,欢迎体验! 阅读导览 一. 概述 二. 设计的基本概念和原理 三. 设计方案 四. 主要源代码 五. 阅读器使用说 ...
- 容易忽略的小知识之 Date 函数参数
Date 对象启用基本存储器并取得日期和时间. dateObj = new Date()dateObj = new Date(dateVal)dateObj = new Date(year, mont ...
- NLS_LANG引起的SQLPLUS乱码和length长度不正确.
创建一个实验表语句如下 SQL> create table test(id number,name varchar2(10)); 当我们在SQLPLUS里面敲入下面的语句并回车执行的时候,SQL ...
- shrio的简单认识
博客讲解; shrio的知识储备 shrio的简单认识 笔记整理地址: Shrio.pdf 下载 Shrio理论.doc 下载 shrio知识储备.doc 下载
- linux(centos7)下SVN服务器搭建手札
linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...
- 【日常记录】【unity3d】 OnTriggerEnter 和 OnCollisionEnter (2D) 的区别
问题:两个物体A,B 两者都有碰撞体 collider(Box Collider,Sphere Collider,Capsule Collider等)当两物体相撞时,会进入 OnTriggerEnte ...