一、概述:
python包含6种内建序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象
二、序列通用的操作:
索引:序列中每个元素都有一个序列号(称为索引),从0开始,这些序列中的元素都可通过索引来访问(如:XX[0]或XX[-1])
分片:可以使用分片操作获取一定范围内的元素,规则:取前不取后;格式:X[开始索引:结束索引:步长],步长不写时默认为1(如:x[3:6]取第3、4、5个元素;x[-3:]、x[:5]、x[:])
加(+):相同类型的系列可通过+进行连接,如[1,2,3]+[4,5,6] 结果:[1,2,3,4,5,6]
乘(*):用数字x乘以序列会生成新序列,新序列是原来的序列被重复x次,如:[42,43,40]*2结果:[42, 43, 40, 42, 43, 40]
成员资格(in):使用 in检查一个值是否在序列中,条件为真返回True,条件为假返回False
计算序列长度(len):len函数返回序列中所包含元素的数量;len([42,43,40]) 结果3
最大元素(max):max函数返回序列中最小元素;max([42,43,40])结果 43
最小元素(min):min函数返回序列中最小元素 ; min([42,43,40]) 结果 40
三、列表
创建列表:只要把逗号分隔的不同的数据项使用方括号[ ]括起来即可
特性:列表内容是可改变的
list函数:将系列转换为列表;list('hello');输出结果:['h', 'e', 'l', 'l', 'o']
基本列表操作:
- 改变列表:元素赋值;x=[1,1],x[1]=2;print(x);结果:[1,2]
- 删除元素:del x[1];print(x);结果:[1]
- 分片赋值:x=[1,5]; x[1:]=[2,3,4,6,7,8];print(x);结果:[1,2,3,4,6.7,8]
列表方法:
- append方法:用于在列表末尾追加新的对象,会修改原有列表;x=[1,5] ;x.append(4) ; print(x);结果:[1,5,4]
- count:统计某个元素在列表中出现的次数;[1,5,1,1].count(1); 结果:3
- extend:在列表的末尾一次性追加另一个序列中的多个值,会修改原有列表;a=[1,2],b=[4,5,6];a.extend(b);print(a); 结果:[1,2,4,5,6]
- index:从列表中找出某个值,第一个匹配项的索引位置
- insert:用于将对象插入到列表中;a=[1,5,2,1];a.insert(2,'four') ;print(a);结果:[1,5,2,'four',1]
- pop:移除列表中的一个元素(默认最后一个),并返回该元素的值; a=[1,5,6];print(a.pop() ,a.pop(1));结果:6,5; print(a);结果:[1]
- remove:用于移除列表中某个值的第一个匹配项; a=[1,5,1];a.remove(1) ,print(a);结果:[5,1]
- reverse:将列表中的元素反向存放;a=[1,5,2,5]; a.reverse();print(a)结果:[5, 2, 5, 1]
- sort:用于在原位置对列表进行排序;a=[1,5,2,4]; a.sort();print(a)结果:[1, 2, 4, 5]
四、元组
创建元组:只要把逗号分隔的不同的数据项使用括号( )括起来即可
特性:元组不能修改;如下修改元组是错误的
- a=(1,2,3);
- a[0]=3
- Traceback (most recent call last):
- File "<pyshell#18>", line 1, in <module>
- a[0]=3
- TypeError: 'tuple' object does not support item assignment
tuple函数:以一个序列做为参数,把它转换为元组;tuple([1,2,3]) 输出结果:(1, 2, 3)
元组基本操作:序列通用的操作
五、字符串
特性:字符串不能修改,如下修改字符串元素,是错误的
st='http://'
st[1:]='ttps'
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
st[1:]='ttps'
TypeError: 'str' object does not support item assignment
字符串基本操作:序列通用的操作
字符串常用方法:
- find:可以在一个较长的字符串中查找子串,返回子串所有位置的最左端索引,没找到返回-1;'Htoop,hoap'.find('o')
2 - join:用来连接序列中的元素,被连接的序列元素都必须是字段串;('+').join(['1','2','3']) '1+2+3'
- lower:返回字符串的小写字母;'HtooP'.lower() 'htoop'
- upper:返回字符串的大写字母; 'HtooP'.upper() 'HTOOP'
- replace:返回某个字符串的所有匹配项均被替换之后得到字符串
- split:是jion的逆方法,用传入的参数将字符串分割成序列;'1+2+3'.split('+') ['1', '2', '3']
- strip:返回去除两侧空格的字符串(不包括内部)' xxx '.strip(),也可去除两侧指定字符'*xxx*'.strip('*')
- translate:替换字符串中的某些部分的单个字符,可同时进行多个替换
字符串格式化:
字符串格式化操作符%:%左侧旋转一个字符串,右侧则旋转希望被格式化的值,多个值需要用元组,即使用()括起来
转换说明符%s:标记需要插入置换值的位置
f='hello,%s is %s enough'
val=('world','hot')
print(f % val)
hello,world is hot enough
另一种格式化方式:
f'{变量名}我是占位'; print(f'{变量名}我是占位')
此方式优势:不用考滤打印的变量类型