一.列表和元组
列表可以修改,元组不可以。字符串也不可以。即若有添加元素的需求,那么列表可能更好用。
序列(如列表和元组及字符串)和映射(如字典)是两类主要的容器。也有既不是序列也不是映射的容器类型——集合(Set)
1. 通用序列操作
所有序列类型都可以进行一些操作:索引(indexing),分片(sliceing),加,乘以及检查某个元素是否是序列成员,计算序列长度,找出最值。
索引:0指向第一个元素,-1指向最后一个元素
分片:num=[1,2,3,4,5,6,7,8,9,10]
num[3:6]=[4,5,6] num[-3,-1]=[8,9] num[0:10:2]=[1,3,5,7,9] num[::4]=[1,5,9]
num[a:b:c]——第一个索引a:包含在分片内,b不包含,c为步长
序列相加:即序列连接。只有相同类型的序列才能进行连接操作。
乘法:想创建10个0的列表:【0】*10
成员资格:>>>‘p' in 'python'
True
长度,最值:num=[1,2,3,4,5,6,7,8,9,10] len(num)=10 max(num)=10 min(num)=1
max(2,3)=3 min(9,3,2,5)=2
2.列表
list('Hello'):['H','e','l','l','o']
改变列表:元素赋值
删除元素:del num[2]
分片赋值:
列表方法: 对象.方法(参数),num.extend(b):2个列表连接,改变了num,而’+‘连接,不改变num;num.index(’2‘),num.insert(2,'four')
num.pop():移除最后一个并返回,num.pop(3):移除第4个并返回该值
num.remove('3'):移除元素3,但不返回该值
num.reverse(), num.sort()
cmp(42,32):1
3.元组:不可改变序列
通过圆括号括起来的
tuple([1,2,3]):(1,2,3)
二.字符串
format="Hello,%s. %s enough."
value=('world','hot')
print format % value
Hello,world. hot enough.
模版字符串
from string import Template
s=Template('$x, glorious $x')
s.substitute(x='slurm')
'slurm, glorious slurm!'
简单转换:’Price:$%d‘ %42 Price:$42
字符宽度和精度 同c语言
符号,对齐和0填充
字符串方法:find(’a‘):返回下标;a.join(b):连接字符串;a.lower();a.replace('aa','bb'),a.split('+'), a.trip(); a.translate():只转换单个字符
三.字典
创建字典:a={'cjen':'1234'}; a=dict(cjen='1234'); {}.fromkeys(['name','age']) ——{'age':None,'name':None}
d.has_key('name')
d.pop('x')
d.popitem():随机删除一项
d.setdefault('abc','123')
d.update(x)
字典基本操作:a.clear():清除字典中所有项;d.copy(a); d.get('cjen');