字符串的部分功能以及可变与不可变的介绍

字符串的修剪
str.strip()
str.lstrip()
str.rstrip()
分别是移除左右两边,左边和右边的字符串

str.startswith()是否以什么开头
str.endswith()是否以什么结尾

str.count()返回其中子串出现的次数
str.find()是否包含子串,如果包含就返回索引位置,否则返回‘-1’
str.rfind()返回搜索到最右边子串的位置
str.index()当找不到子串时抛出valueerror错误
str.rindex()返回搜索到最右边子串的位置,当找不到子串时抛出valueerror错误

字符串的替换
s.replace(old,new)
s.expandtabs(N)将字符串中的\t替换为一定数量的空格,N默认为8
s.translate(table)
static str.maketrans()

字符串的拆分与组合
S.split (sep-None, maxsplit-1)
S.rsplit(sep=None, maxsplit–1)
S. splitlines ([keepends=True])
都是用来分割字符串,并生成一个列表
split()根据sep对S进行分割,maxspn用于指定分割次数,如果不指定maxspli或者给定值为"-1", 则会从左向右搜索并且每遇到sep- 次就分割直到搜索完字符串。如果不指定sep或者指定为None,则改变分割算法:以空格为分隔符,且将连续的空白压缩为- 个空格。. rspit()和split()是-样的,只不过是从右边向左边搜索。
●splitlines()用来专 门用来分割换行符。虽然它有点像split("In)或spit("r\n’),但它们有些区别。
, splitines()中可以指定各种换行符,常见的是\n、\r、 \nn. 如果指定keepends为True, 则保留所有的换行符。

●S. partition(sep)
●S. rpartition(sep)
搜索字符串S中的子串sep,并从sep处对S进行分割,最后返回-一个包含3元素的元组sep左边的部分是元组的第- 一个元素,sep自身是元组的二个元素,sep右边是元组的第三个元素。
,parition(sep)从左边第一 个sep进行分割,rpartition(sep)从右边第一 个sep进行分割。
如果搜索不到sep,则返回的3元素元组中,有两个元素为空。partitin()是后两个元素为空,rpartition()是前两个元素为空。

S. join(iterable)
将可迭代对象(iterable)中的元素使用S连接起来。注意,iterable中必须全部是字符串类型,否则报错。

元组与列表
序列类型有12个通用的操作符和函数
序列类型
操作符
x in s
如果x是s的元素,返回True,否则返回False如果x不是s的元素,返回lrue,否则返回False连接s和t
X not in s
s + t
sn或ns
将序列s复制n次
s[i]
索引,返回序列的第个元素
s[i:j]
分片,返回包含序列s第i到个元素的子序列(不包含第j个元素)
s[i:j:k]
步骤分片,返回包含序列s第到j个元素以为步数的子序列

len(s)
序列s的元素个数( 长度)
min(s)
序列s中的最小元素序列
max(S)
序列s中的最大元素
s.index(x[. i, i1)
s coun(x)
序列s中从开始到位置中第一次出现元素x的位置序列s中出现x的总次数

元组( tuple )是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。Python中元组采用逗号和圆括号(可选)来表示。

  ●集合数据类型是没有顺序的简单对象的聚集,且集合中元素不重复

  ●Python集合数据类型包括可变集合对象(set) 和不可变集合对象(frozenset)
  ●集合的定义   {x,27.,.,Xn}

  ●{}表示空的dict, 因为dict也使用花括号定义。空集为set()

  集合

  集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中元素不可重复,元素类型只能是固定数据类型,例如:整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。

可变与不可变
列表是可变对象
字符串是不可变对象

不管死是可变还是不可变的序列类型
分片必定产生新序列
+在=右边,必定产生新序列

对列表进行添加元素的方法总结
向列表中添加新元素有三种常用的方法,分别为: L=L+[i], L.append(i),L+=[i],下面我们来总结一下这三种方法的差别:
(1) L=L+[i]在每-次执行时 都会将原列表复制一一次,L指向新列表, 并在新列表中加入新元素。
(2)L.append(i)只是将新元素直接添加到原列表中,不会产生新列表。
(3) L+=[i]的执行效果和L.append(i)类似, 也是在原列表中直接添加元素,不会复制原列表。
Python中可以通过id()来查看列表存储的地址,如果语句执行前后列表的地址不同,那么就说明原列表被复制,此时的L指向新列表的地址。反之,则列表没有被复制,L仍指向原列表。

猜你喜欢

转载自blog.csdn.net/qq_27698495/article/details/88946193
今日推荐