《Pyhon基础教程 第2版·修订版》 第2章 列表和元组 (学习笔记·三)
来源:互联网 发布:拓客软件 编辑:程序博客网 时间:2024/05/08 21:37
2.3 列表:Python的“苦力”
注:列表是可改变的
2.3.1 list函数
>>> list('Hello')['H', 'e', 'l', 'l', 'o']注意,list函数适用于所有类型的序列而不只是字符串。
2.3.2 基本的列表操作
1.改变列表:元素赋值
>>> x = [1,1,1]>>> x[1] = 2>>> x[1, 2, 1]
2.删除元素
>>> names = ['Alice','Beth','Cecil','Dee-Dee','Earl']>>> del names[2]>>> names['Alice', 'Beth', 'Dee-Dee', 'Earl']
3.分片赋值
分片是一个非常强大的特性,分片赋值操作更加显现它的强大。
>>> name = list('Perl')>>> name['P', 'e', 'r', 'l']>>> name[2:] = list('ar')>>> name['P', 'e', 'a', 'r']不等长赋值
>>> name['P', 'e', 'a', 'r']>>> name = list('Perl')>>> name[1:] = list('ython')>>> name['P', 'y', 't', 'h', 'o', 'n']分片赋值语句可以在不需要替换任何原有元素的情况下插入新的元素
>>> numbers = [1,5]>>> numbers[1:1] = [2,3,4]>>> numbers[1, 2, 3, 4, 5]
>>> numbers = [1,2,3,4,5]>>> numbers[1:4] = []>>> numbers[1, 5]
2.3.3 列表方法
方法可以这样进行调用
对象·方法(参数)
1. append
>>> #append方法用于在列表末尾追加新的对象>>> lst = [1,2,3]>>> lst.append(4)>>> lst[1, 2, 3, 4]
>>> #count方法统计某个元素在列表中出现的次数>>> ['to','be','or','not','to','be'].count('to')2>>> x = [1,2],1,1,[2,1,[2,2]]>>> x.count(1)2>>> x.count([1,2])1
3. extend
>>> #extend方法可以在列表的末尾一次性追加另一个序列中的多个值>>> a = [1,2,3]>>> b = [4,5,6]>>> a.extend(b)>>> a[1, 2, 3, 4, 5, 6]
4.index
>>> #index方法用于从列表中找出某个值第一个匹配项的索引位置>>> knights = ['We','are','the','knights','who','say','ni']>>> knights.index('who')4>>> knights[4]'who'
5. insert
>>> #insert方法用于将对象插入到列表中>>> numbers = [1,2,3,5,6,7]>>> numbers.insert(3,'four')>>> numbers[1, 2, 3, 'four', 5, 6, 7]
>>> #pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值>>> x = [1,2,3]>>> x.pop()3>>> x[1, 2]>>> x.pop(0)1>>> x[2]
7.remove
>>> #remove方法用于移除列表中某个值的第一个匹配项>>> x = ['to','be','or','not','to','be']>>> x.remove('be')>>> x['to', 'or', 'not', 'to', 'be']
8. reverse
>>> # reverse方法将列表中的元素反向存放>>> x = [1,2,3]>>> x.reverse()>>> x[3, 2, 1]
9. sort
>>> #sort方法用于在原位置对列表进行排序>>> x = [4,5,6,1,7,9]>>> x.sort()>>> x[1, 4, 5, 6, 7, 9]
注意:sort方法调用过后,x的序列就是已经排序的,无法回到原来状态
>>> x = [4,5,6,1,7,9]>>> y = sorted(x)>>> x[4, 5, 6, 1, 7, 9]>>> y[1, 4, 5, 6, 7, 9]
10.高级排序
>>> cmp(42,32)1>>> cmp(99,100)-1>>> cmp(10,10)0>>> numbers = [5,2,7,9]>>> numbers.sort(cmp)>>> numbers[2, 5, 7, 9]
>>> x = [4,5,6,1,7,9]>>> x.sort(reverse=True)>>> x[9, 7, 6, 5, 4, 1]
元组和列表一样,也是一种序列。唯一的不同是元组不能修改。
>>> 42,#实现一个值的元组。实现方法有些奇特---必须加个逗号,即使只有一个值(42,)
下面的一个例子体现了逗号的神奇:
>>> 3*(40+2)126>>> 3*(40+2,)(42, 42, 42)
2.4.1 tuple函数
tuple函数的功能与list函数基本上是一样的:以一个序列操作为参数并把它转换为元组。如果参数就是元组,那么该参数就会原样返回。
>>> tuple([1,2,3])(1, 2, 3)>>> tuple([1,2,3])(1, 2, 3)>>> tuple('abc')('a', 'b', 'c')>>> tuple((1,2,3))(1, 2, 3)
2.4.2 基本元组操作
>>> x = 1,2,3>>> x[1]2>>> x[0:2](1, 2)
2.4.3 那么,意义何在
a.元组可以映射(和集合的成员)中当作键使用---而列表则不行。
b.元组作为很多内建函数和方法的返回值存在,也就是说你必须对元组进行处理。
2.5 小结
重点内容:序列、成员资格、方法。
2.5.1 本章的新函数
cmp(x,y) #比较两个值len(seq) #返回序列的长度list(seq) #把序列转换成列表max(args) #返回序列或者参数集合中的最大值min(args) #返回序列或者参数集合中的最小值reversed(seq) #对序列进行反向迭代sorted(seq) #返回已排序的包含seq所有元素的列表tuple(seq) #把序列转换成数组
0 0
- 《Pyhon基础教程 第2版·修订版》 第2章 列表和元组 (学习笔记·三)
- 《Python基础教程 第2版·修订版》 第2章 列表和元组(学习笔记·总)
- 《Python基础教程 (第2版 修订版)》 第2章 列表和元组(学习笔记· 一)
- 《Python基础教程(第2版·修订版)》 第2章 列表和序列(学习笔记·二)
- 《Python基础教程 第2版·修订版》第3章 使用字符串(学习笔记)
- 《Python基础教程(第2版 修订版)》 第1章 快速改造:基础知识(学习笔记)
- 《Python基础教程第2版》之列表和元组
- Python基础教程之第2章 列表和元组
- python学习 第二章 列表和元组 《python基础教程第二版修订版》
- 【Python基础教程】第2章 列表和元组-2.4元组:不可变序列
- 【Python基础教程】第2章 列表和元组-2.3 列表
- 《Python基础教程(第2版)》学习笔记(三):
- 【Python基础教程】第2章 列表和元组-2.2通用序列操作
- 第2章 Python笔记 列表和元组
- 第2章 列表和元组
- 《Python基础教程 第2版·修订版》 字典:当索引不好用时(一)
- <<Python基础教程>>学习笔记 | 第02章 | 列表和数组
- python基础教程学习笔记 第二章 列表和元组
- ZOJ - 3469 Food Delivery(区间DP)
- 权限管理命令-权限管理命令chmod
- Android性能专项测试之MAT
- linux服务安装与配置(四):安装ftp服务及配置
- 例题5.5 圆桌骑士 LA3523
- 《Pyhon基础教程 第2版·修订版》 第2章 列表和元组 (学习笔记·三)
- VS2010与opencv2.4.11配置重点注意问题!highgui\src\window.cpp line261
- Android中Loader及LoaderManager的使用(附源码下载)
- MySQL千万级别表数据中提高RAND随机查询的实验
- centos6.5使用rpm安装mysql
- php 奇怪现象,求大神解答
- 第一篇博文
- Discuz!中文验证码设置
- android中actionbar的showAsAction属性设置为always无效解决方案