python中包含六种内建序列,重点的是列表和元组,其他是字符串,Unicode字符串,buffer对象和xrange对象
## 列表 ##
.>>> [‘lemon’,12] 这就是一个简单列表
[]表示空列表
一、列表的通用操作:索引,分片,加,乘,已经成员资格
索引:
str = ‘hello world’
str[1]
‘e’
str[0]
‘h’
str[-1]
‘d’
索引下标从0开始,c/c++亦是如此。索引可以为负数。
分片:
digits = [1,2,3,4,5,6,7,8,9]
digits[1:2]====>[2]
digits[3:]=====>[4,5,6,7,8,9]
digits[-3:-1] =====>[7,8]
如何获得后三个元素。
digits[-3:0]=====>[]
实际上左边的索引如何比右边的索引晚出现,其结果都是空列表
所以这里我们使用
digits[-3:]====>[7,8,9]
也可以使用步长
a= [1,2,3,4,5,6,7,8,9]
a[1:6:1]
[2, 3, 4, 5, 6]
a[8:3:-1]
[9, 8, 7, 6, 5]
a[::-1] #直接是序列反转。当然也可以使用reverse来实现
[9, 8, 7, 6, 5, 4, 3, 2, 1]
删除元素
del digits[1]
digits
[1, 3, 4, 5, 6, 7, 8, 9]
分片赋值
p = list(‘python’)
p
[‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’]
p[-2:] = list(‘ab’)
p
[‘p’, ‘y’, ‘t’, ‘h’, ‘a’, ‘b’]
列表方法
1.append
a=[1,2]
a.append(3)===>[1,2,3]
2.count 统计元素出现的次数
['i','am','so','cool','i','am','hansome'].count('i') ===>2
x = [[1,2],1,2,[2,1,[1,2]]]
x.count(1) ====>1
x.count([1,2])====>1
3.extend 序列扩展
a=[1,2,3]
b=[4,5,6]
a.extend(b)
a
[1,2,3,4,5,6]
4index 返回位置
['i','am','so','cool','i','am','hansome'].index('i') = 0
如果没有值的话出错。
5.insert 在制定的位置插入元素
[1,2,3].insert(1,'yoo')====>[1,'yoo',2,3]
6.pop 默认移除最后一个元素
pop是列表方法中唯一一个有返回值的函数
[1,2,3].pop()====>[1,2]
[1,2,3].pop(0)===>[2,3]
7,remove 移除某个值
['1bc',1,2,3].remove(1)===>['1bc',2,3]
如果移除的值不存在,出现ValueError错误
8,reverse 反序
[1,2,3].reverse()===>[3,2,1]
9,sort 排序==默认升序
x=[4,2,1,6,5,3]
y=x
x.sort()
x==>[1,2,3,4,5,6]
y==>[1,2,3,4,5,6]
这时候y也出现了变化,因为指向的是同一个地址
这时候可用分片
即:y=x[:]这事就就是两那个不同的序列。
## 元组 ##
元组是不可变的
()
()
1
1
1,#单个构造的时候,加逗号
(1,)
1,2,3
(1, 2, 3)
1.元组不可变
2.元组可以作为映射的键值
3.元组可以作为内建函数和方法的返回值。
## 字符串 ##
import string
string.digits
‘0123456789’
string.letters
‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’
string.lowercase
‘abcdefghijklmnopqrstuvwxyz’
string.printable
‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!”#$%&\’()*+,-./:;<=>?@[\]^_{|}~ \t\n\r\x0b\x0c'
{|}~’
string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_
string.uppercase
‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
字符串方法有很多,常用的包含find,join,lower,replace,split,strip,translate.
## dict字典 ##