Python内置数据结构——字符串

知识结构图

Python内置数据结构——字符串

学习笔记

字符串

字符组成的有序序列,字符的集合

使用单引号、双引号、三引号引起来的字符序列

不可变对象

Unicode类型

定义

单引号、双引号、三引号

r、R:引号内的字符原样输出

元素访问

索引访问

可迭代

join连接

string“.join(iteratable)

使用string作为分隔符将可迭代对象连接起来

可迭代对象本身元素都是字符串

返回一个新的字符串

+

2个字符串链接在一起

返回一个新的字符串

分割

split

将字符串按照分隔符分割成若干字符串,并返回列表

split(sep=None,maxsplit=-1)

从左至右

sep指定分割字符串,缺省为空白字符串

maxsplit指定分割的次数,-1表示遍历整个字符串

rsplit(sep=None,maxsplit=-1)

从右至左

sep指定分割字符串,缺省为空白字符串

maxsplit指定分割的次数,-1表示遍历整个字符串

splitline([keepends])

按照行来切分字符串

keepends指的是是否保留行分隔符(\n、\r\n、\r)

partition

将字符串按照分隔符分割成2段,返回这2段和分隔符的元组

partition(sep) -> (head, sep, tail)

从左至右,能找到分隔符则返回头、分隔符、尾的三元组,否则分会头、2个空元素的三元组

sep为分割字符串,必须指定

rpartition(sep) -> (head, sep, tail)

从右至左,同partition

大小写转换

upper():全大写

lower():全小写

swapcase():大小写交换

排版

title():标题的每个单词词首大写

capitalize():首个单词大写

center(width[,fillchar]):指定width宽度,使用fillchar填充

zfill(width):打印宽度,居右,左边使用0填充

ljust(width[,fillchar]):左对齐

rjust(width[,fillchar]):右对齐

修改

replace(old,new[,count]):字符串中找到匹配子串替换为新子串,返回新的字符串,count表示替换的次数,默认全部替换

strip([chars]):从字符串两端去除指定字符集chars中的所有字符,不指定chars默认去除空白字符

lstrip([chars]):只去除左端

rstrip([chars]):只去除右端

查找

find(sub[,start[,end]]):在指定区间[start,end)从左至右查找子串sub,找到返回索引,没有则返回-1

rfind(sub[,start[,end]]):从右至左

index(sub[,start[,end]]):在指定区间[start,end)从左至右查找子串sub,找到返回索引,没有则抛出ValueError

rindex(sub[,start[,end]]):从右至左

时间复杂度O(n)

len(string):字符串长度

count(sub[,start[,end]]):在指定区间[start,end)从左至右统计子串sub出现的次数

判断

endswith(suffix,[start[,end]]):在指定区间,字符串是否以suffix结尾

startswith(prefix,[start[,end]])

isalnum()

isalpha()

isdecimal():十进制

isdigit()

isidentifier():是否是标识符,字母下划线开头

islower()

isupper()

isspace()

格式化

format函数

“{}{xxx}”.format(*args,**kwargs)

args:位置参数,是一个元组

kwargs:关键字参数,是一个字典

{}:占位符

{}:按顺序匹配位置参数

{n}:按索引为n的参数

{xxx}:在关键参数中搜索名称一致的

{{}}:打印{}

位置参数

‘{}{}’.format(arg1,arg2):按照位置顺序用位置参数替代前面的字符串中的占位符

关键字参数或命名参数

‘{kw1}{}{kw2}’.format(arg1,kw1=’kwarg1′,kw2=’kwarg2′):位置参数按照序号匹配,关键字参数按照名称匹配

对齐

<:向左对齐

>:向右对齐

>0n:字符数不够,前面使用0补齐

^:居中对齐

x^:两端使用x补齐

进制

“int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}”.format(42)

“int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}”.format(42)

                                

    

原创文章,作者:ZBD20,如若转载,请注明出处:http://www.178linux.com/94047

(0)
ZBD20ZBD20
上一篇 2018-03-31 16:19
下一篇 2018-03-31 16:21

相关推荐

  • 第一周作业

    linux基础

    Python笔记 2018-05-12
  • 面向对象,魔术方法

    面向对象 一面向对象 什么是面向对象: 一种认识世界、分析世界的方法论。将万事万物抽象为类。 类class: 类是抽象的概念,是万事万物的抽象,是一类事物的共同集合的集合。 用计算机语言来描述类,就是属性和方法的集合。 对象instance,object: 对象是类的具象,是一个实体。 每个个体都是抽象类的不同实体。 哲学 一切皆对象 对象是数据和操作的封装…

    Python笔记 2018-05-14
  • queue,threading,user_agents

    queue 模块 队列
    threading 模块 线程
    user_agents 浏览器信息提取

    2018-05-07
  • StringIO

    StringIOio模块中的类From io import StringIO内存中,开辟的一个文本模式的buffer,可以像文件对象一样操作它当close方法被调用的时候,这个buffer会被释放StringIO操作getvalue() 获取全部内容。跟文件指针没有关系from io import StringIO# 内存中构建sio = StringIO(…

    Python笔记 2018-05-07
  • 解析式

    列表解析式和字典解析式 datetime模块 对日期,时间,时间戳的处理 datetime类 today()返回本地时区当前的datetime对象 now(tz=None)返回当前时间的datetime对象,时间到微秒,如果tz为None,返回和today()一样 utcnow()没有时区的当前时间 fromtimestamp(timestamp,tz=Zo…

    2018-04-09
  • 树 非线性结构,每个元素都可以有多个前驱和后继 树是n(n>=0)个元素 n = 0时,称为空树 树只有一个特殊的没有前驱的元素,称为树的根root 树中除了根结点,其余元素只能有一个前驱,可以有0个或者多个后继 递归定义 树T是n(n>=0)个元素的集合,n=0时,称为空树 有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1,…

    2018-04-16