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

相关推荐

  • 面向对象之魔术方法

    特殊属性 属性 含义 __name__ 类、函数、方法的名称 __module__ 类定义所在的模块名 __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺序为它们在基类列表中出现的顺序 __doc__ 类、函数的文档字符串,若没定义则为None __mro__ 类的mro,方法查找顺序 __dict__ 类或实例的属性,可写的字典 …

    2018-05-20
  • 装饰器

    装饰器 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息 def add(x, y): return x + y 增加信息输出功能 def add(x, y): print(“call add, x + y”)  # 日志输出到控制台 return x + y p 上面的加法函数是完成了需求,但是有以下的缺点 打…

    Python笔记 2018-04-23
  • 基础语法

    基础语法、判断、循环

    2018-03-26
  • Python 部分知识点总结(七)

    此篇博客只是记录第九周未掌握或不熟悉的知识点,用来加深印象。

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

    2018-04-16
  • 文件IO常用操作

    io模块 StringIO BytesIO 类
    pathlib模块 路径操作 3.4版本开始
    os模块 更改权限、显示信息 3.4版本之前路径操作
    shuril 模块(高级文件操作
    csv 文件
    configparser模块 ini文件处理

    2018-05-02