Python 序列操作符与函数(字符串)
Python序列包括:元组、列表、字符串。
1.1 序列共同支持的函数:
| 函数 | 功能 | 说明 |
| cmp(seq1,seq2) | 比较序列大小 | 从左到右依次比较,直到比较出大小 |
| len(seq1) | 获取序列长度 | 如果seq1为字符串,返回字符串中字符数,否则返回序列中元素个数 |
| max(seq1)或min(seq1) | 求最大值或最小值 | seq1字符串:返回字符串中ASCII码最大或最小的字符。也可比较序列中元素或多个序列 |
| sorted(seq1) | 按由小到大顺序排列 | |
| sum(seq1) | 求和 | 对数字型列表或元组中的各元素求和 |
| list(seq1)或tuple(seq1) | 通过浅拷贝数据创建一个新的列表或者元组 | 同常用于将元组转换为列表,或将列表转换为元组 |
如果对应元素的类型不同,则比较遵循下列原则:
(1)均为数字,强制类型转换后比较大小。
(2)若一方为数字,则另一方大,不同类型元素中数字最小。
(3)如果均不是数字,则通过类型名字字母顺序进行比较。
(4)如果一方尚有元素,另一方已至列表末尾,先结束的小。
1.2 序列操作符:
| 序列操作符 | 功 能 | 说 明 |
| seq[index] | 获取seq中index处的元素 | index为整型数字,正向索引从0开始,反向索引从-1(最后一个元素)开始 |
| seq[index1:index2] | 获取index1与index2-1之间的元素 | index2-1为最后获取的元素 |
| seq[index1:index2:step] | step指定切片的步长(间隔) | |
| seq*expr | 复制expr份的seq | expr为整型数字 |
| seq1+seq2 | 连接两个序列 | seq1、seq2为相同类型序列对象 |
| obj in seq | 判断obj是否为seq中的成员 | |
| obj not in seq | 判断obj是否不是seq中的成员 |
例子:
>>>s='hello'
>>>s[2:5]
'llo'
>>>s[[-3:-1]
'll'
>>>x=''have a nice day'
>>>x[0:10:3]
'he c'
>>>'ha' in x
True
2.1 字符串:
用str函数创建字符串:
>>>s=str(56)
>>>s
''
单双引号作界定符号,三引号通常用作包含多行文本字符串的界定符:
>>>y='''abc
bca
ddd'''
>>>y
'abc\nbca\nddd'
>>>print y
abc
bca
ddd
更新字符串:
>>>var1 = 'Hello World!'
>>>print "更新字符串 : ", var1[:6] + 'Runoob!'
更新字符串 : Hello Runoob!
2.1.1 通常意义字符串:转义字符有:\n 换行、\\ 反斜杠、\t 制表、\' 单引号、\r 回车、\" 双引号。
2.1.2 原始字符串:以R或r开始,对不其中的转义字符进行转义:
>>>s='hello\nworld'
>>>print(s)
hello
world
>>>ss=r'hello\nworld'
>>>print(ss)
hello\nworld
2.1.3 Unicode字符串:以U或u开始的字符串。
2.2 字符串常用函数:
| 函 数 | 说 明 |
| string.count(str, beg=0, end=len(string)) | 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数。 |
| string.endswith(obj, beg=0, end=len(string)) | 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,返回 True 或者 False。(如果只有一个参数则是 beg) |
| string.find(str, beg=0, end=len(string)) (1) | 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1。 |
| string.format() (2) | 格式化字符串 |
| string.index(str, beg=0, end=len(string)) | 跟find()方法一样,只不过如果str不在 string中会报一个异常。 |
| string.join(seq) (3) | 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。 |
| string.partition(str) | 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。 |
| string.replace(str1, str2, num=string.count(str1)) | 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次。(不指定num则全部替换) |
| string.split(str="", num=string.count(str)) (4) | 以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串。(默认使用空格) |
| string.strip([obj]) (5) | 移除字符串头尾指定的字符(默认为空格)lstrip(去掉字符串左侧空格)、rstrip(去掉字符串右侧空格)。中间部分不会移除 |
| string.translate(table, del="") (6) | 根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。 |
(1)string.find(str, beg=0, end=len(string)):
>>>info = 'abca'
>>> print info.find('a') # 从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
0
>>> print info.find('a',1) # 从下标1开始,查找在字符串里第一个出现的子串:返回结果3
3
>>> print info.find('') # 查找不到返回-1
-1
(2)string.format():
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
(3)string.join(seq):(要直接连接字符串序列可以用'',即两个单引号)
>>>str = "-";
>>>seq = ("a", "b", "c"); # 字符串序列
>>>print str.join( seq );
a-b-c
(4)string.split(str="", num=string.count(str)):
>>>a='I love you'
>>>a.split(' ',1) #以空格为分隔符分隔字符串a,只分隔一个空格
['I','love you']
>>>import re
>>>a='Beautiful, is; better*than\nugly' # 四个分隔符为:, ; * \n
>>>x= re.split(',|; |\*|\n',a)
>>>print(x)
['Beautiful',' is',' better','than','ugly']
(5)string.strip([obj]):
>>>a='\t errt \t'
>>>a.strip()
'errt'
>>>a.lstrip()
'errt \t'
>>>a.rstrip('t \t')
'\t err'
>>>str = "0000000this is string 0000example....wow!!!0000000";
>>>print str.strip( '' );
this is string 0000example....wow!!! #输出结果中间部分的 0 还是存在的
(6)string.translate(table, del=""):
>>>from string import maketrans # 引用 maketrans 函数。
>>>intab = "aeiou"
>>>outtab = ""
>>>trantab = maketrans(intab, outtab) #用 maketrans 创建翻译表
>>>str = "this is string example....wow!!!";
>>>print str.translate(trantab, 'xm'); #过滤了xm字符
th3s 3s str3ng 21pl2....w4w!!!
Python 序列操作符与函数(字符串)的更多相关文章
- python]用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined[python]用eval函数 字符串转dict
本博客已搬家至个人网站 在路上 - On the way 下面的 技术 分类. 你可以通过点击 更新帖子 [已解决]Python中,用eval强制将字符串转换为字典变量时候出错:NameError: ...
- Python学习(8)字符串
目录 Python 字符串 Python 访问字符串中的值 Python 字符串更新 Python 转义字符 Python 字符串运算符 Python 字符串格式化 Python 三引号 Unicod ...
- python 序列:字符串、列表、元组
python 序列:字符串.列表.元组 序列:包含一定顺序排列的对象的一个结构 内建函数:str() list() tuple() 可以使用str(obj)可以把对象obj转换成字符串 list( ...
- Python序列——字符串
字符串 1 string模块预定义字符串 2 普通字符串与Unicode字符串 3 只适用于字符串的操作 4 原始字符串 5 Unicode字符串操作符 内建函数 1 标准类型函数与序列操作函数 2 ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- 2015/8/30 Python基础(4):序列操作符
序列是指成员有序排列,可以通过下标偏移量访问的类型.Python序列包括:字符串.列表和元组.序列的每个元素可以指定一个偏移量得到,多个元素是通过切片操作得到的.下标偏移量从0开始计数到总数-1结束. ...
- Python全栈工程师(字符串/序列)
ParisGabriel Python 入门基础 字符串:str用来记录文本信息字符串的表示方式:在非注释中凡是用引号括起来的部分都是字符串‘’ 单引号“” 双引号''' ''' ...
- 第11.22节 Python 中re模块的字符串分割器:split函数
一. 引言 在<第11.2节 Python 正则表达式支持函数概览>介绍了re模块的主要函数,在<第11.3节 Python正则表达式搜索支持函数search.match.fullm ...
- python operator操作符函数
本模块主要包括一些Python内部操作符对应的函数.这些函数主要分为几类:对象比较.逻辑比较.算术运算和序列操作.
随机推荐
- MISS YOU
文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论
- [oracle]TX行锁发生的常见场景(转贴)
TX行锁发生的常见场景: 1.当前会话要更新或删除的记录,已经被其他会话更新或删除. 2.对于表上有唯一索引的情况,多个会话插入或更新为相同的键值. 3.对于表上有位图索引的情况,多个会话即使更新不同 ...
- 《你不知道的JavaScript(上)》笔记——作用域闭包
当函数可以记住并访问所在的词法作用域时, 就产生了闭包, 即使函数是在当前词法作用域之外执行. function wait(message) { setTimeout( function timer( ...
- amm与tmpfs和swap
/dev/shm对Oracle 11g的影响: ORACLE 从11g版本开始,引入了一个自动内存管理(Automatic Memory Management)特性,该特性需要更多的共享内存(/dev ...
- python3 __mian和__name__的区别
1.新建 test.py 模块: def GetModuleName(): print('__name__ = ', __name__) def PrintName(): print('PrintNa ...
- 如何调试JS查看异常信息
如果页面上有错误,html页面的控制台会报错,可以查看报错信息,找到对应的行,找到出错的位置.也可以通过editplus运行调试,editplus会以弹框的形式出现提示,哪行的什么位置什么错误,需要记 ...
- leetcode 求一个字符串的最长回文子串
最长回文子串问题:给定一个字符串,求它的最长回文子串长度.如果一个字符串正着读和反着读是一样的,那它就是回文串. 给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最 ...
- 11-2 TCP/IP协议栈
TCP/IP协议栈 Transmission Control Protocol/Internet Protocol传输控制协议/因特网互联协议 TCP/IP是一个Protocol Stack,包括TC ...
- CentOS 7安装gevent
CentOS 7安装gevent 首先确认python版本不低于python 2.7 执行python –V(或者python -vision) 安装pip工具 方式一: [root@server-0 ...
- C语言的灵魂——指针基础
一.什么是指针 1.指针的定义:地址形象化为指针,通过指针能够找到内存单元. 指针变量就是地址变量,变量的值为指针. 指针其实是我们将变量名和地址的关系显化(独立)出来的一种形式,是为了我们更加方便的 ...