python基础教程总结1——列表和元组
2015-07-13 15:13
761 查看
1.序列
python含有6种内建序列——列表,元组,字符串,Unicode字符串,buffer对象,xrange对象
2.通用序列操作
2.1 索引
注: input()根据用户输入变换相应的类型,而且如果要输入字符和字符串的时候必须要用引号包起来,
raw_input()则是不管用户输入什么类型的都会转变成字符型.
2.2 分片
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(1) numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #整个列表
(2) numbers[3:5]
[4, 5] #包括起始索引对应的元素,但不包括截至索引对应的元素
(3) numbers[-5:-3]
[6, 7] #注意索引的顺序
(4) numbers[3,3]
[] #空列表
(5) numbers[-5, 9]
[6, 7, 8, 9] #混合正负索引
(6) numbers[-20, 20]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #好像不存在index out of range的问题
(7) numbers[8, -8]
[] #索引区间为空
2.3 序列相加
注:两种相同类型的序列才可以相加
2.4 乘法
2.5 成员资格: in
2.6 长度,最小值和最大值
len()——返回序列中包含的元素数量
min()——序列中最大元素
max()——序列中最小元素
3.列表
3.1 list函数
功能:将字符创转化为列表,例:
3.2 基本操作
(1).赋值
(2).删除
(3).分片赋值
可以一次为多个元素赋值;
与原序列不等长序列将分片替换;
不替换任何元素的情况下插入新元素;
支持删除元素;
cmp(list1, list2):比较两个列表的元素
len(list):列表元素个数
max(list):返回列表元素最大值
min(list):返回列表元素最小值
list(seq):将元组转换为列表
列表操作包含以下方法:
list.append(obj):在列表末尾添加新的对象
list.count(obj):统计某个元素在列表中出现的次数
list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj):从列表中找出某个值第一个匹配项的索引位置
list.insert(index,
obj):将对象插入列表
list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj):移除列表中某个值的第一个匹配项
list.reverse():反向列表中元素
list.sort([func]):对原列表进行排序
注1:保有原有列表的排序:
(1).拷贝副本,再排序
(2).sorted()函数,可用于任何序列,返回的都是列表
注2:sort方法的可选参数——cmp,key和reverse
函数原型: L.sort(cmp=None, key=None, reverse=False)
参数说明:
(1) cmp参数
cmp接受一个函数,拿整形举例,形式为:
def f(a,b):
return a-b
如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了
(2) key参数
key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
def f(a):
return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
(3) reverse参数
接受False 或者True 表示是否逆序
sort举例:
(1)按照元素长度排序
[align=left] L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}][/align]
[align=left] def f(x):[/align]
[align=left] return len(x)[/align]
sort(key=f)
[align=left] print L[/align]
输出:
[align=left][{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}][/align]
[align=left] [/align]
[align=left] (2)按照每个字典元素里面key为1的元素的值排序[/align]
[align=left] L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}][/align]
[align=left] def f2(a,b):[/align]
[align=left] return a[1]-b[1][/align]
[align=left] L.sort(cmp=f2)[/align]
[align=left] print L[/align]
输出:
[align=left][{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}][/align]
4.元组
tuple()函数:将一个序列作为参数转换为元组
python含有6种内建序列——列表,元组,字符串,Unicode字符串,buffer对象,xrange对象
2.通用序列操作
2.1 索引
注: input()根据用户输入变换相应的类型,而且如果要输入字符和字符串的时候必须要用引号包起来,
raw_input()则是不管用户输入什么类型的都会转变成字符型.
2.2 分片
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(1) numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #整个列表
(2) numbers[3:5]
[4, 5] #包括起始索引对应的元素,但不包括截至索引对应的元素
(3) numbers[-5:-3]
[6, 7] #注意索引的顺序
(4) numbers[3,3]
[] #空列表
(5) numbers[-5, 9]
[6, 7, 8, 9] #混合正负索引
(6) numbers[-20, 20]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #好像不存在index out of range的问题
(7) numbers[8, -8]
[] #索引区间为空
2.3 序列相加
注:两种相同类型的序列才可以相加
2.4 乘法
2.5 成员资格: in
2.6 长度,最小值和最大值
len()——返回序列中包含的元素数量
min()——序列中最大元素
max()——序列中最小元素
3.列表
3.1 list函数
功能:将字符创转化为列表,例:
3.2 基本操作
(1).赋值
(2).删除
(3).分片赋值
可以一次为多个元素赋值;
与原序列不等长序列将分片替换;
不替换任何元素的情况下插入新元素;
支持删除元素;
cmp(list1, list2):比较两个列表的元素
len(list):列表元素个数
max(list):返回列表元素最大值
min(list):返回列表元素最小值
list(seq):将元组转换为列表
列表操作包含以下方法:
list.append(obj):在列表末尾添加新的对象
list.count(obj):统计某个元素在列表中出现的次数
list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj):从列表中找出某个值第一个匹配项的索引位置
list.insert(index,
obj):将对象插入列表
list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj):移除列表中某个值的第一个匹配项
list.reverse():反向列表中元素
list.sort([func]):对原列表进行排序
注1:保有原有列表的排序:
(1).拷贝副本,再排序
(2).sorted()函数,可用于任何序列,返回的都是列表
注2:sort方法的可选参数——cmp,key和reverse
函数原型: L.sort(cmp=None, key=None, reverse=False)
参数说明:
(1) cmp参数
cmp接受一个函数,拿整形举例,形式为:
def f(a,b):
return a-b
如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了
(2) key参数
key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
def f(a):
return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
(3) reverse参数
接受False 或者True 表示是否逆序
sort举例:
(1)按照元素长度排序
[align=left] L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}][/align]
[align=left] def f(x):[/align]
[align=left] return len(x)[/align]
sort(key=f)
[align=left] print L[/align]
输出:
[align=left][{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}][/align]
[align=left] [/align]
[align=left] (2)按照每个字典元素里面key为1的元素的值排序[/align]
[align=left] L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}][/align]
[align=left] def f2(a,b):[/align]
[align=left] return a[1]-b[1][/align]
[align=left] L.sort(cmp=f2)[/align]
[align=left] print L[/align]
输出:
[align=left][{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}][/align]
4.元组
tuple()函数:将一个序列作为参数转换为元组
相关文章推荐
- python 目录文件操作 os模块
- python正则相关
- Python学习笔记——一些常用函数、常见错误总结
- python 模块==命名空间?
- python 打开一个文件并随机读取文件某一行
- Multiprocessing vs Threading Python
- python 之 模拟GET/POST提交
- Python Paste.deploy 笔记
- Python thread pool similar to the multiprocessing Pool?
- python 随机数
- python 计算器
- Python.Paste指南之Deploy
- python 读取文件
- python 函数参数
- Python3.2官方文件翻译-工具列表和十进制浮点计算
- python第一个爬虫
- python第三方库系列之十八--python/django test库
- Python三种结构
- 【Python 学习手册笔记】动态类型简介
- strategy pattern in Python