一、列表 list
(一)列表的基本操作
(1)列表的创建
使用“ = ”将一个列表赋值给变量。
注:列表中可嵌套列表类型、元组类型,字符串,数字。
(2)列表元素读取
列表名 [ 索引 ]
若索引不存在,则提示下标越界。
(3)列表切片
列表名 [ 开始索引 :结束索引 :步长 ]
开始索引:表示是第一个元素对象,正索引位置默认为0;负索引位置默认为-len。
结束索引:表示最后一个元素对象,正索引位置默认为len-1;负索引位置默认为-1,。
步长:表取值的步长,。默认为1,不能为0 。
(4)增加元素
A. 用“ + ”运算符将一个新列表添加在原列表的尾部。速度慢。
B.用append()方法向列表尾部添加一个新元素。在原地址上操作,速度较快。
C.用extend()方法将一个新列表添加在原列表的尾部。在原列表地址上操作。
D.用insert (参数1,参数2) 方法将一个元素添加到列表的指定位置。
参数1:插入位置。
参数2:插入元素。
(5)检索元素
A.用index()获取指定元素首次出现的下标。
index(value,[ ,start [ ,end] ] )
start : 检索开始位置,默认为0。
end :索引结束位置,默认为列表长度。
B.用count()方法统计列表中指定元素出现的次数。
C.用 in 运算符检索某个元素是否在该列表中,若在,返回True;否则返回False。(notin与此相反)
(6)删除元素
A.用del命令删除列表中指定位置的元素。如:del a_list [ n ]
B.用remove()方法删除首次出现的指定元素,若列表中农不存在,则提示出错。若:a_list.remove( n )
C.用pop()方法删除并返回指定位置上的元素,缺少参数时删除最后一个位置上的元素,若给定索引超出列表范围,则提示出错。如:a_list.pop( n )
(二)列表的常用函数
(1)cmp()
格式:cmp(列表1,列表2)
功能:对两个列表逐项比较,先比较列表的一个元素,若相同则分别取两个列表的下一个元素进行比较;若不同,则终止比较。
若第一个列表最终比较的元素大于第二个列表最终比较的元素,结果为1;小于结果为-1;相同结果为0 。
(2)len()
格式:len(列表)
功能:返回列表中元素的个数。
(3)max()和min()
格式:max(列表),min(列表)
功能:返回列表中最大或者最新元素。(要求所有元素之间可以进行大小比较)
(4)sum()
格式:sum(列表)
功能:对数值型列表的元素进行求和运算,对非数值型的列表则出错。
(5)sorted()
格式:sorted(列表)
功能:对列表进行排序,默认按照升序排序。(不会改变原列表的顺序)
如:sorted(a_list,reverse=True)表降序排序
如:sorted(a_list,reverse=False)表升序排序
(6)sort()
格式:list.sort()
功能:对列表进行排序,排序会新列表会覆盖原列表,默认为升序排序。
(7)reverse()
格式:list.reverse()
功能:对列表中的元素进行翻转存放,不会对原列表进行排序。
方法 | 功能 |
list.append( obj ) | 在列表末尾添加新元素 |
list.extend( sep ) | 在列表末尾一次性添加另一个序列的多个值 |
list.index ( index,obj ) | 将对象插入列表 |
list.index ( obj ) | 从列表中找出某个值第一个匹配项索引的位置 |
list.count ( obj ) | 统计某个元素在列表中出现的次数 |
list.remove ( obj ) | 移除列表中某个值第一个匹配项 |
list.pop ( obj=list [ -1 ]) | 移除列表中一个元素(默认是最后一个元素),并返回该元素的值 |
sort ( ) | 对原列表进行排序 |
reverse ( ) | 反向存放列表元素 |
cmp ( list1,list2) | 比较两个列表的元素 |
len ( list ) | 求列表元素个数 |
max ( list ) | 返回列表元素最大值 |
min ( list ) | 返回列表元素最小值 |
list ( sep ) | 将元组转换为列表 |
sum ( list ) | 对数值型列表求和 |
二、元组 tuple
(一)元组的基本操作
(1)元组的创建
用“ = ”将一个元组赋值给变量。
注:元组中可嵌套元组类型、列表类型。(若创建一个元素的元组,需在元素后面将每年同一个逗号“ ,”)
(2)读取元素
方法:元组名 [ 索引 ]
如:a_tuple [ n ]
(3)元组切片
方法与列表类似
(4)检索元素
A.用index()获取指定元素首次出的下标
B.用count()添加元组中指定元素出现的次数
C.用in检索某个元素是否在元组中,若在返回True;若不在则返回False。(not in与此相反)
(5)删除元组
用del删除元组,删除之后就不存在了,再次访问会出错。
(二)列表与元组的区别和转换
(1)区别
列表是可变序列,元组是不可变序列,所以元组中没有用append()、inser()和extend()等方法。
元组的优点:A.处理速度和访问速度快。B.可用作字典的键。
(2)转换
tuple ( list ):返回傲寒同样元素的元组
list ( tuple ):返回包含同样元素的列表
三、字符串 str
(一)字符串的基本操作
(1)字符串的创建
用“ = ”将字符串赋值给变量
(2)字符串元素的读取
字符名 [ 索引 ] 如:str1 [ n ]
(3)字符串分片
字符名 [ 开始索引:结束索引:步长]
(4)连接
用“ + ”将两个字符串对象连接起来成为新的字符串。
(5)重复
字符串重复操作用“ * ”。
(6)关系运算
A.单字符字符串按照ASCLL值大小进行比较。
B.多个字符字符串比较:
并行比较ASCLL值大小,向前推进,直到找到两个不同的字符。
a.从两个字符串索引为0 的位置开始比较
b.比较当前位置两个单字符。若两字符相等,索引 +1 ,回到 b;若不同,返回两个字符比较结果,作为字符串比较结果。
c.若两个字符串比较到一个字符串结束时,对应位置的字符否相同,则较长的字符串更大。
(7)成员运算
字符串1 [ not ] in 字符串2
其值返回True或False 。
(二)字符串的常用方法
(1)子串查找
str.find ( substr,[ start , [ end ] ] )
substr为要查找的子串
start开始位置
enf结束位置
若找到,返回子串在主串中的位置;若照拿不到,返回-1 。
(2)字符串替换
str.replace ( old , new ( , max) )
old为要进行更换的旧字符串。
new为要更换子字符串的新字符串。
max可选项,若指定max则不超过max次。
(3)字符串分离
str.split ( [ sep] )
sep表分隔符,默认为空格。
若参数中没有分隔符,则把整个字符串作为列表的一个元素;若有分隔符,以参数进行分隔。
(4)字符串连接
sep.jion ( sequence )
sep表分隔符。
sequence示要连接的字符序列。
功能:以sep为分隔符,将sequence所有元素合并成一个新的字符串,并返回该字符串。
方法 | 功能 |
str.find ( substr,[ start [ ,end ] ] ) | 定位子串substr在str中第一次出现的位置 |
str.replace(old,new(,max) ) | 用字符串new替代str中的old |
str.split( [ sep] ) | 以sep为分隔符,把str分隔成一个列表 |
sep.jion(sequence) | 把sequence的元素用连接符sep连接起来 |
str.count(substr,[ start ,[ ,end] ] ) | 统计str中有多少个substr |
str.strip() | 去掉str两端空格 |
str.lstrip() | 去掉str左边空格 |
str.rstrip() | 去掉str右边空格 |
str.strip( [ chars ] ) | 删除str两端字符串chars |
str.isalpha() | 判断str是否全为字母 |
str.isdigit() | 判断tsr是否全为数字 |
str.isupper() | 判断str是否全为大写字母 |
str.islower() | 判断str是否全为小写字母 |
str.lower() | 转换strt中所有大写字母为小写 |
str.upper() | 转换str中所有小写字母为大写 |
str.swapcase() | 将str中大小写字母互换 |
str.capitalize() | 将字符串str中第一个字母变为大写,其他字母变小写 |