Python 学习笔记(八)Python列表(二)
列表函数
追加和扩展
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列表(二)的更多相关文章
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- python学习笔记(一)、列表和元祖
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
- python 学习笔记八 进程和线程 (进阶篇)
什么是线程(thread)? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执 ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- python 学习笔记一——Python安装和IDLE使用
好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...
- python学习笔记(一):python简介和入门
最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...
- python学习笔记(python介绍)
为什么要学python? python和shell的比较,和PHP.和JAVA比较 运维开发只是用到python的很小一部分 python在一些知名公司的应用: 谷歌:python的创始人原来在谷歌工 ...
- python学习笔记(python简史)
一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...
- python学习笔记:python序列
python序列包括字符串.列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数. 一.python序列 序列类型操作符 标准类型的操作符一般都能适用于所有的序列类型,这里说一 ...
随机推荐
- linux服务器git pull/push时避免频繁输入账号密码
1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...
- 对SNMP4J的一些封装
SNMP4J是一个开源的,用Java实现的snmp协议.其中提供了一下API,在这些API上面封装了一些方法,比如SNMP的get-request请求,get-next-request请求等 如果不了 ...
- 4.kafka的安装部署
为了安装过程对一些参数的理解,我先在这里提一下kafka一些重点概念,topic,broker,producer,consumer,message,partition,依赖于zookeeper, ka ...
- web应用开发周期
web应用开发周期 1. 前期准备 2. 编码 3. 上线 4. 数据分析 5. 持续交付 6. 遗留系统 7. 回顾与新架构 重构的一般性因素 1. 系统难以维护 2. 系统技术栈难以符合业务需求 ...
- 牛客提高R5 A.同余方程
题意 题目链接 Sol 设\(solve(x, y)\)表示\(i \in [0, x], j \in [0, y]\)满足题目要求的方案数 首先容斥一下,\(ans = solve(r_1, r_2 ...
- java对文件操作--01
1.删除文件 /** * delete file * 删除文件 * @param fileName * @return */ private boolean deleteDir(String file ...
- python接口测试-项目实践(三)数据的处理示例
三 数据处理 枚举值的转换.如接口返回1-5,需转成对应的中文. typecap = findinfo_from_api(result, 'TypeCap') dictcap = {': '微盘'} ...
- python入门20 导入模块(引包)
1 引包: import module 或 import module.module1 或 from module import module1,module2...等 2 import xx ...
- 用trie树实现输入提示功能,输入php函数名,提示php函数
参照刘汝佳的trie树 结构体 #include "stdio.h" #include "stdlib.h" #include "string.h&q ...
- 如何用python语言撸出图表系统
公司指标图表化显示,解决目前跟踪技术指标数据的各种不方便:于是话不多说,撸起袖子就是干: 1.挖掘需求和罗列功能点: a.图表显示技术指标数据. b.根据服务名和系统名查询对应的图表. c.根据日期区 ...