演示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函数的更多相关文章

  1. NeHe OpenGL教程 第二十二课:凹凸映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...

  3. python第二十九课——文件读写(读取读取中文字符)

    演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...

  4. python六十二课——高阶函数之filter

    高阶函数之:filter函数:过滤数据的,最终返回一个惰性序列对象(filter对象,迭代器对象)解释:filter的意思:在计算机领域中我们都称为过滤器格式:filter(fn,lsd):参数和ma ...

  5. python第二十四课——set中的函数

    集合中常用的一些函数: 1.add(obj):追加一个obj元素到集合中 pop():从集合中随机弹出一个元素 remove(obj):删除集合中和obj匹配的元素 clear():清空集合 s1={ ...

  6. Python学习第二十二课——Mysql 表记录的一些基本操作 (增删改)

    记录基本操作: 增:(insert into) 基本语法: insert into 表名(字段) values(对应字段的值): 例子1: insert into employee(id,name,a ...

  7. 第二十二课:js事件原理以及addEvent.js的详解

    再看这篇博客之前,希望你已经对js高级程序编程一书中的事件模块进行了详读,不然我只能呵呵了. document.createEventObject,在IE下创建事件对象event. elem.fire ...

  8. python第二十六课——装饰器

    装饰器是闭包的一种使用场景: python中的装饰器在定义上需要传入一个函数对象, 在此函数执行之前或者之后都可以追加其它的操作, 这样做的好处是,在不改变源码(原本业务逻辑的)同时,进行功能的扩展: ...

  9. python第十二课——for in循环

    1.for...in循环: 有两个使用场景: 场景一:for in和range对象配合使用 range对象的引入讲解 格式:range([start,end,step]): 特点:索引满足含头不含尾的 ...

随机推荐

  1. 让自己的程序支持livewriter

    参考 http://www.cnblogs.com/Dah/archive/2007/04/02/697312.html 使用MetaWeblog. 在上面的博客里,基本说明了如何设置.   根据cn ...

  2. java8 lambda 表达式

    lambada 表达式实质上是一个匿名方法,但该方法并非独立执行,而是用于实现由函数式接口定义的唯一抽象方法 使用 lambda 表达式时,会创建实现了函数式接口的一个匿名类实例 可以将 lambda ...

  3. linux 用vi命令的使用以及vi编辑后的后续保存退出等相关命令的使用

    一.首先用vi命令打卡要编辑的文件: 注意:vi命令的使用如下 打开或新建文件,并将光标至于第一行首:[root@centos6 /]# vi /etc/my.cnf 打开文件,并将光标移至最后一行行 ...

  4. python 字符串居中

    下面的代码可以让字符串居中,左对齐和右对齐,字符串长度设置为50,居中后左右补充空格,右对齐会在左侧补充空格 string1 = "Now I am here." print( s ...

  5. Chrome浏览器取消INPUT自动记忆下拉框

    项目中有一个搜索框,每次聚焦就会出现如下图自动记忆框,遮挡了项目的搜索列表 差了很多资料想要去掉它,最后发现在input上加上autocomplete="off"就可以了!

  6. JS 时间转化为几分钟前 几小时前 几天前

    背景:最近公司要做动态列表,类似于微信朋友圈.动态创建时间就需要显示为 刚刚.几分钟前.几小时前.几天前.2018-05-15,这样的形式. 代码如下 var minute = 1000 * 60; ...

  7. python中的字符串编码问题——4.unicode编解码(以实际工作中遇到的韩文编码为例)

    韩文unicode编解码  问题是这样,工作中遇到有韩文数据出现乱码,说是unicode码. 类似这样: id name 323 52186863 149 63637538 314 65516863 ...

  8. Oracle存储过程_语法

    create or replace procedure procedure_name --存储过程名字 ( --进行输入/输出的量 量_name in out 量_类型 --e.g. username ...

  9. d3js path generator vs layouts

    我们知道d3的一般套路就是d3.selectAll('path.mypath').data(yourDataset).enter().append('path').attr('class','mypa ...

  10. HBase Region分裂实现

    分裂策略 不同的分裂策略的实现需要继承RegionSplitPolicy,主要实现两个方法: shouldSplit()表示是否需要分裂 getSplitPoint()得到分裂点rowkey 从 HB ...