列表函数

追加和扩展

list.append() 在列表末尾追加新的对象

 >>> dir(list)  #dir 查看列表的函数
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>> help(list.append) #help 查看 list.append() 函数的详细内容
Help on method_descriptor: append(...)
L.append(object) -- append object to end #将对象追加到末尾 >>> a =[2,6]
>>> a.append(50) #将对象50追加到列表a中
>>> a
[2, 6, 50]
>>> a.append("python book")
>>> a
[2, 6, 50, 'python book']
>>> a
[2, 6, 50, 'python book', ['baidu', 'weibo']]
>>> b =[1]
>>> id(b) #id 返回值给出在内存中的空间
60126664L
>>> b.append(5)
>>> b
[1, 5]
>>> b
[1, 5]
>>> id(b) #追加5 之后,id返回值 一样
60126664L
>>> b.append("zhangsan")
>>> id(b)
60126664L
>>> b
[1, 5, 'zhangsan']
>>>
注:列表在被修改的时候,不是创建了一个新的列表,而是修改了原来的列表,这种修改称为原地修改

extend()在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

 >>> help(list.extend) #help查看list.extend函数的详细内容
Help on method_descriptor: extend(...)
L.extend(iterable) -- extend list by appending elements from the iterable #把可迭代对象中的元素追加到列表中 >>> a=[1,2,3] #可迭代对象
>>> b=[4,5,6] #可迭代对象
>>> a.extend(b)
>>> a #b列表中的元素被一个个追加到a列表中
[1, 2, 3, 4, 5, 6]
>>> a.extend("python")
>>> a
[1, 2, 3, 4, 5, 6, 'p', 'y', 't', 'h', 'o', 'n']
>>> alst =[1,2] >>> hasattr(alst,'__iter__') #判断是否可迭代,是返回true ,否则false
True
>>> hasattr("python",'__iter__') #字符串不可迭代,此处是将字符串一个的字符拆出追加
False
>>> a =[1,2]
>>> a.append([4,5])
>>> a
[1, 2, [4, 5]]
>>> a.extend([4,5])
>>> a
[1, 2, [4, 5], 4, 5]
>>> b =[9,8]
>>> a.append(b[0])
>>> a.append(b[1])
>>> a
[1, 2, [4, 5], 4, 5, 9, 8]
>>>
注:append 与extend 区别就是,extend 将一个个的元素拆分追加,append是整体追加

其他函数

count() 统计某个元素在列表中出现的次数

 >>> help(list.count)
Help on method_descriptor: count(...)
L.count(value) -> integer -- return number of occurrences of value #返回出现的次数 >>> a =[1,1,1,2,2,2,3,3,3]
>>> a.count(1) #1这个元素在列表中出现3次
3
>>> a.count(2)  #2这个元素在列表中出现3次
3
>>> a.count("a") #a在列表中没有

index() 从列表中找出某个值第一个匹配项的索引位置

 >>> help(list.index)
Help on method_descriptor: index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value. #参数中的value值在列表中第一次出现的索引位置
Raises ValueError if the value is not present. >>> a.index(1)
0
>>> a.index(2)
3
>>>

insert() 将对象插入列表

 >>> help(list.insert)
Help on method_descriptor: insert(...)
L.insert(index, object) -- insert object before index #把对象插入到索引所对应的元素的前面 >>> a =["python","web"]
>>> a.insert(1,"aaa") #在索引是1的元素的前面插入一个字符串aa
>>> a
['python', 'aaa', 'web']
>>> a.insert(0,"like") #在最前面插入一个字符串like
>>> a
['like', 'python', 'aaa', 'web']
>>>
注:insert为原地修改,没有新建一个列表

pop() 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

 >>> help(list.pop)
Help on method_descriptor: pop(...)
L.pop([index]) -> item -- remove and return item at index (default last). #删除索引所对应的元素,并它作为返回值返回 (默认删除最后一个元素)
Raises IndexError if list is empty or index is out of range. #不能删除为空的或者超出索引范围的元素,否则索引错误 >>> a
['like', 'python', 'aaa', 'web']
>>> a.pop(1)
'python'
>>> a
['like', 'aaa', 'web']
>>>

remove() 移除列表中某个值的第一个匹配项

 >>> help(list.remove)
Help on method_descriptor: remove(...)
L.remove(value) -- remove first occurrence of value. #移除某个值得第一个匹配项
Raises ValueError if the value is not present. >>> a =["test","test","demo"]
>>> a.remove("test")
>>> a
['test', 'demo']
>>> a.remove("aa")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
>>>

reverse()  反向列表中元素

 >>> help(list.reverse)
Help on method_descriptor: reverse(...)
L.reverse() -- reverse *IN PLACE* >>> a =[1,2,3,4,5]
>>> a.reverse()
>>> a
[5, 4, 3, 2, 1]
>>>

sort() 对原列表进行排序

 >>> help(list.sort)
Help on method_descriptor: sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1 >>> a =[5,9,3,1]
>>> a.sort() #从小到大排列
>>> a
[1, 3, 5, 9]
>>> b=[9,3,8,6]
>>> b.sort(reverse=True) #从大到小排列
>>> b
[9, 8, 6, 3]
>>>

Python 学习笔记(八)Python列表(二)的更多相关文章

  1. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  2. python学习笔记(一)、列表和元祖

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...

  3. [Python学习笔记1]Python语言基础 数学运算符 字符串 列表

    这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...

  4. python 学习笔记八 进程和线程 (进阶篇)

    什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执 ...

  5. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

  6. python 学习笔记一——Python安装和IDLE使用

    好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...

  7. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

  8. python学习笔记(python介绍)

    为什么要学python? python和shell的比较,和PHP.和JAVA比较 运维开发只是用到python的很小一部分 python在一些知名公司的应用: 谷歌:python的创始人原来在谷歌工 ...

  9. python学习笔记(python简史)

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...

  10. python学习笔记:python序列

    python序列包括字符串.列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数. 一.python序列 序列类型操作符 标准类型的操作符一般都能适用于所有的序列类型,这里说一 ...

随机推荐

  1. linux服务器git pull/push时避免频繁输入账号密码

    1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...

  2. 对SNMP4J的一些封装

    SNMP4J是一个开源的,用Java实现的snmp协议.其中提供了一下API,在这些API上面封装了一些方法,比如SNMP的get-request请求,get-next-request请求等 如果不了 ...

  3. 4.kafka的安装部署

    为了安装过程对一些参数的理解,我先在这里提一下kafka一些重点概念,topic,broker,producer,consumer,message,partition,依赖于zookeeper, ka ...

  4. web应用开发周期

    web应用开发周期 1. 前期准备 2. 编码 3. 上线 4. 数据分析 5. 持续交付 6. 遗留系统 7. 回顾与新架构 重构的一般性因素 1. 系统难以维护 2. 系统技术栈难以符合业务需求 ...

  5. 牛客提高R5 A.同余方程

    题意 题目链接 Sol 设\(solve(x, y)\)表示\(i \in [0, x], j \in [0, y]\)满足题目要求的方案数 首先容斥一下,\(ans = solve(r_1, r_2 ...

  6. java对文件操作--01

    1.删除文件 /** * delete file * 删除文件 * @param fileName * @return */ private boolean deleteDir(String file ...

  7. python接口测试-项目实践(三)数据的处理示例

    三 数据处理 枚举值的转换.如接口返回1-5,需转成对应的中文. typecap = findinfo_from_api(result, 'TypeCap') dictcap = {': '微盘'} ...

  8. python入门20 导入模块(引包)

    1 引包: import module  或  import module.module1  或 from module import module1,module2...等 2 import xx ...

  9. 用trie树实现输入提示功能,输入php函数名,提示php函数

    参照刘汝佳的trie树 结构体 #include "stdio.h" #include "stdlib.h" #include "string.h&q ...

  10. 如何用python语言撸出图表系统

    公司指标图表化显示,解决目前跟踪技术指标数据的各种不方便:于是话不多说,撸起袖子就是干: 1.挖掘需求和罗列功能点: a.图表显示技术指标数据. b.根据服务名和系统名查询对应的图表. c.根据日期区 ...