Python字符串常用功能汇总
1、字符串的定义
#定义空字符串
> name=''
#定义非空字符串 > name="luoahong"
#通过下标访问 > name[1] 'u'
#不能修改字符串的值,否则会报错 > name[2] = "3" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment
特别提醒:字符串如果修改的话,字符串所在的内存地址也跟着变化,所以不可被修改,但是对于列表来说,可以修改是因为列表的内存是不变的,可以直接在上面修改
2、切片
特别提醒:字符串其实和列表,元组一样,也是可以切片的
> name="ahong luo" > name[1:4] #取1到4之间的字符,包括1,不包括4 'hon' > name[1:-1] #取1到-1之间的字符,包括1,不包括-1 'hong lu' > name[0:3] 'aho' > name[:3] #从头开始取,0可以省略,效果等同于name[0:3] 'aho' > name[3:] #想取到最后一个值,必须不能写-1,只能这么写 'ng luo' > name[0::2] #后面的2表示:每隔一个字符就取一个 'aoglo' > name[::2] #从头开始0可以省略,效果跟上一句一样 'aoglo'
3、首字母大写(capitalize())
> name="ahong luo" > name.capitalize() 'Ahong luo' >
4、统计(count(sub,start=None,end=None))
sub:统计的字符,start:开始位,end:结束位,start和end默认为空时,则表示全部字符中去统计
> name="ahong luo"
#有开始和结束符
> name.count("o",1,5) 1
#从整个字符串中统计字符 > name.count("o")
2 >
5、center(width,fillchar)
如果width(字符宽度)小于等于(<=)字符串的长度,则返回原字符串,如果大于(>)字符串的,则用fillchar(填满字符)填满,处理结果等于width,字符串位于fillchar的中间
> name="ahong luo" > len(name) 9
#10小于等于字符串宽度 > name.center(12,'-') '-ahong luo--'
#50大于字符串长度,并且字符串位于填充字符的中间 > name.center(50,'-') '--------------------ahong luo---------------------' > len(name.center(50,'-')) 50
6、ljust(width,fillchar)
如果字符串的长度大于width(字符宽度),则返回原字符串,如果小于width,则用fillchar(填满字符)填满,处理结果等于width,fillchar位于字符串的最右边
> name="ahong luo" > len(name) 9
#小于等于字符串的长度 > name.ljust(8,'-') 'ahong luo'
#大于字符串的长度 > name.ljust(50,'-') 'ahong luo-----------------------------------------'
"<h3></h3>">
"ahong luo" 全文查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1 sub:字符或者字符串,start:开始位,end:结束位,start和end默认为空时,则在整个字符串中查找 从左向右查找sub中第一个字符所在整个字符串中的索引值,没有找到则返回-1 数据格式,以字典形式传入 是否是一个阿拉伯数字和字母,它包含因为英文字符+(1-9)数字,中间不能有特殊字符 是否是一个纯的英文字符,包含大写
> name="ahong luo"
> len(name)
9
> name.rjust(8,'-')
'ahong luo'
> name.rjust(50,'-')
'-----------------------------------------ahong luo' > name.endswith('0',1,4) False
> name.endswith('o') True > name.endswith('o',1,4) False10、find(sub,start=None,end=None)
> name="ahong luo"
#没找到,则返回-1
> name.find("lu",1,4)
-1
> name.find("a",2)
-1
> name.find("lu")
6
> name.find("lu",1,6)
-1
> name.find("lu",1,10)
6
>11、rfind(sub,start=None,end=None)
> name="ahong luo"
#找到
> name.rfind("a")
0
#未找到
> name.rfind("a",2)
-112、format()
①关键字拼接也是官方推荐
1
2
3
4
5
6
7
8
9
name = "alex"
age = 18
info = '''----info-----
name:{_name}
age:{_age}
'''.format(_name=name,_age=age)
print(info)
②占位符拼接
1
2
3
4
5
6
7
8
9
name = "alex"
age = 18
info = '''----info-----
name:{0}
age:{1}
'''.format(name,age)
print(info)
13、format_map()
> name="name:{name},age:{age}"
> name.format_map({"name":"luoahong",'age':23})
#输出结果
'name:luoahong,age:23'14、isalnum()
> age='23'
> age.isalnum()
True
#有特殊字符的
> age='ab23'
> age='ab'
> age.isalnum()
True
> age='ab'
> age.isalpha()
True
>15、isalpha()
> age = 'ab'
> age.isalpha()
True
#夹着数字
> age = 'ab23'
> age.isalpha()
False
#大写
> age = 'Ab'
> age.isalpha()
True
"http://www.cnblogs.com/zhangqigao/articles/6387512.html" rel="external nofollow" target="_blank">
17、isspace()
判断是否是一个空格
#不是空格 > age = ' age' > age.isspace() False #是空格 > age = ' ' > age.isspace() True
"<h3></h3>">
#每个单词的首字母是小写
> name="luoahong"
> name.istitle()
False
> name="luo a hong"
> name.istitle()
False
#每个单词的首字母大写
> name="Luo A Hong"
> name.istitle()
True
> name="Luoahong"
> name.istitle()
True
19、isupper()
#每个单词的首字母是小写
> name="luoahong" > name.istitle() False > name="luo a hong" > name.istitle() False
#每个单词的首字母大写 > name="Luo A Hong" > name.istitle() True > name="Luoahong" > name.istitle() True
是否是大写,注意字符串必须全部是大写才会返回True,否则返回False
#全部大写
> name="LUO" > name.isupper() True
#小写 > name="Luo" > name.isupper() False >
"htmlcode">
> a = ['1','2','3']
> '+'.join(a)
'1+2+3'
"<h3></h3>">
> name="LuoAHong"
> name.lower()
'luoahong'
>
"<h3></h3>">
> name="LuoAHong"
> name.upper()
'LUOAHONG'
"<h3></h3>">
> name= " \n luoahong \n"
> name.strip()
'luoahong'
"<h3></h3>">
> name= " \n luoahong \n"
> name.lstrip()
'luoahong \n'
"<h3></h3>">
> name= " \n luoahong \n"
> name.rstrip()
' \n luoahong'
> a = ['1','2','3'] > '+'.join(a) '1+2+3'
> name="LuoAHong" > name.lower() 'luoahong' >
"<h3></h3>">
> name="LuoAHong"
> name.upper()
'LUOAHONG'
"<h3></h3>">
> name= " \n luoahong \n"
> name.strip()
'luoahong'
"<h3></h3>">
> name= " \n luoahong \n"
> name.lstrip()
'luoahong \n'
"<h3></h3>">
> name= " \n luoahong \n"
> name.rstrip()
' \n luoahong'
> name="LuoAHong" > name.upper() 'LUOAHONG'
> name= " \n luoahong \n" > name.strip() 'luoahong'
"<h3></h3>">
> name= " \n luoahong \n"
> name.lstrip()
'luoahong \n'
"<h3></h3>">
> name= " \n luoahong \n"
> name.rstrip()
' \n luoahong'
> name= " \n luoahong \n" > name.lstrip() 'luoahong \n'
> name= " \n luoahong \n" > name.rstrip() ' \n luoahong'
至此,方法前有l(left)和r(right)的函数,都是对之前函数的一个扩展,带l的表示至始至终从右到左操作,记住左边才是最终目的地,而带r的至始至终都是从左到右,因为右边才是它的终极目标
26、split()
分割函数,默认是以空格分割(space)生成一个列表,如果其他字符分割,输入其他字符参数
> name="ahong luo"
#默认为空,按空格分割 > name.split() ['ahong', 'luo'] > name="ahong+luo"
#以"+"字符分割
> name.split("+") ['ahong', 'luo']
#以'\n'分割 > name="ahong\nluo" > name.split("\n") ['ahong', 'luo']
"\r\n",linux上是'\n'
> name="ahong\nluo"
> name.splitlines()
['ahong', 'luo']
"<h3></h3>">
> name="Luo"
> name.swapcase()
'lUO'
29、startswith(prefix, start=None,end=None)
> name="ahong\nluo" > name.splitlines() ['ahong', 'luo']
> name="Luo" > name.swapcase() 'lUO'
29、startswith(prefix, start=None,end=None)
判断是否以prefix开始,是返回True,否返回Fales
prefix:表示字符或者字符或者字符串,start:开始位,end:结束位,start和end默认为空是,表示从整个字符串的结尾去判断
> name="ahong luo" > name.startswith("luo") #开头找到"luo"字符串 False > name.startswith("h",3,5) #在索引3到5之间没有找到以字符'h'开头 False
30、replace(old,new[,"pun">])
old:将被替换的子字符串; new:新字符串,用于替换old子字符串;max:可选字符串, 替换不超过 max 次
> name="wo shi luo a hong" > name.replace("shi","bushi") 'wo bushi luo a hong'
#原字符串没有改变 > name.replace("shi","bushi",0) 'wo shi luo a hong' > name.replace("shi","bushi",1) 'wo bushi luo a hong'
31、zfill(width)
字符的长度是否大于等于(>=)with,如果比width小,则在字符串钱用0填充,如果>=width,则返回原字符串
> name="luoahong" > len(name) 8
#width大于字符串长度 > name.zfill(11) '000luoahong'
#width小于等于字符串长度 > name.zfill(8) 'luoahong' >
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】
- 景冈山.1996-我的眼里只有你【大地唱片】【WAV+CUE】
- 群星《八戒 电影原声带》[320K/MP3][188.97MB]
- 群星《我的阿勒泰 影视原声带》[320K/MP3][139.47MB]
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[320K/MP3][148.91MB]
- 刘雅丽.2001-丽花皇后·EMI精选王【EMI百代】【FLAC分轨】
- 齐秦.1994-黄金十年1981-1990CHINA.TOUR.LIVE精丫上华】【WAV+CUE】
- 群星.2008-本色·百代音乐人创作专辑【EMI百代】【WAV+CUE】
- 群星.2001-同步过冬AVCD【环球】【WAV+CUE】
- 群星.2020-同步过冬2020冀待晴空【环球】【WAV+CUE】
- 沈雁.1986-四季(2012梦田复刻版)【白云唱片】【WAV+CUE】
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[FLAC/分轨][257.88MB]
- 《国语老歌 怀旧篇 3CD》[WAV/分轨][1.6GB]