python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python字符串技巧

Python字符串不可不知的6个小技巧分享

作者:微小冷

字符串可以理解为一段普通的文本内容,在python里,使用引号来表示一个字符串,不同的引号表示的效果会有区别,本文将给介绍Python字符串不可不知的6个小技巧分享,并有详细的代码供大家参考,感兴趣的小伙伴可以参考一下

字符串格式化

【format】可将标识符{}替换为元组中的值,如果{}中未指定序号,则顺序替代。

'{} Love {}'.format('I','U')
'I Love U'

如果{}中指定了序号,则按照序号的顺序替代

>>> '{0} Love {1}, {1} Love {0}'.format('I','U')
'I Love U, U Love I'    #最近被蜜雪冰城洗脑了。。。

当然,和C语言一样,这种格式化用于数字转化的情况多一些,python中通过:来声明数字转化为字符串之后的格式

其中,

具体示例如下

>>> from math import pi
输入输出描述
‘{:.2f}’.format(pi)‘3.14’保留两位小数,四舍五入
‘{:.2%}’.format(pi)‘314.16%’保留两位小数的百分数
‘{:+.2f}’.format(1)‘+1.00’保留两位小数,带符号
‘{:0>5d}’.format(1)‘00001’左侧补0,宽度为5
‘{:>5d}’.format(1)‘01’左侧补空格,宽度为5
‘{:x<5d}’.format(1)‘1xxxx’右侧补x,宽度为5
‘{:-^5d}’.format(1)‘–1–’两侧补-,宽度为5
‘{:,}’.format(1e5)‘100,000.0’逗号分隔
‘{:.2e}’.format(1e5)‘1.00e+05’科学计数法
‘{:b}’.format(8)‘1000’二进制

首字母大小写

python中,字符串内置title()函数,可以将字符串内每个词进行首字母大写。

"python".title()

python字符串提供了.lower.upper函数,可以进行大小写转换。据此可以将首字母重新变为小写。

>>> def deCapitalize(string):
...     return string[0].lower() + string[1:]
...
>>> capitalize("Hello")
'hello'

字符串拼接

【join】是字符串的内置方法,可以将一个字符串列表,用特定的字符串串联起来,组成一个新的字符串,示例如下

>>> date = ['2021','3','10']
>>> '-'.join(date)
'2021-3-10'

通过正则表达式统计字母个数

【re】为python中的正则表达式包,其中re.findall可将正则表达式所选中的内容挑出。在正则表达式中,方括号[]内部的字符彼此之间是“或”的关系。

据此可以统计字符个数,例如统计元音字母[aeiou]的个数,可用如下方

import re    	
def count_vowels(str): 
    return len(len(re.findall(r [aeiou] , str, re.IGNORECASE)))    	
count_vowels( foobar ) # 3    	
count_vowels( gym ) # 0	

变位词

如果两个单词中出现的字母相同,且每个字母出现的次数也相同,则这两个单词互为变位词(Anagram)。

【Counter】是collections中用以统计数据中元素个数的方法,其返回值是个字典,可根据这个特性来对比两个字符串是否互为变位词

from collections import Counter   	
 	
def isAnagram(first, second):    	
    return Counter(first) == Counter(second)    	

计算字节大小

将字符串转化为utf-8编码后,其长度即为字节大小。以下方法将以字节为单位返回字符串长度。

def byte_size(string):    	
    return(len(string.encode('utf-8')))   	
     	
byte_size("我爱你") # 9    	

到此这篇关于Python字符串不可不知的6个小技巧分享的文章就介绍到这了,更多相关Python字符串技巧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文