欢迎光临
生活尽了力,其他靠佛系

【Python】字符串使用总结

在实际编程中使用字符串(String)的操作还是蛮多的,现总结如下,后期有新的心得,再做更新。
实际上,字符串是单个字符的序列,简单地可以理解为是多个单个字符合并而来。在所有的编程语言中,字符串都是最基本的数据结构之一。而在Python中进行字符串处理很方便。

创建字符串

  • 虽然字符串和列表都可以通过[]来访问其中的元素,但是字符串具有不可变性,每个字符一旦创建,不能通过索引对其做任何修改
  • 字符串和列表一样,支持索引和切片。
  • 创建字符串最简单的方式就是用单引号或者双引号,这两种方式基本没有区别。如果定义的字符串中含有单引号,那么在创建时可用双引号包裹,以避免引号歧义,反之亦然。
  • 字符串支持跨行,常用的方式是:'''字符串内容'''"""字符串内容""",行尾的换行符会自动加到字符串中,为了不加上换行符可以在要换行时加上\
str1 = "hello, Python"
# 索引获取字符
print(str1[0], str1[-1]) # 输出第一个、最后一个字符
# 字符串切片
print(str1[0:3])   # 获取索引为[0,3) 注,不包括索引为3的字符
# str1[0] = 'h'    # 会报错,不能修改
# 用双引号包裹单引号创建字符串
print("'Python'是一门不错的语言")
# 多行字符
str2 = """Python 值得一学,应用的地方确实笔记多
相比于其它语言,确实简单,快捷
"""
print(str2)
str3 = '''Python 值得一学,应用的地方确实笔记多\
相比于其它语言,确实简单,快捷
'''
print(str3)

结果如下

h n
hel
'Python'是一门不错的语言
Python 值得一学,应用的地方确实笔记多
相比于其它语言,确实简单,快捷

Python 值得一学,应用的地方确实笔记多相比于其它语言,确实简单,快捷

注:str2的输出结果换行了,而str3的输出结果没有换行
除此之外,Python可用”+”合并字符串,如:

str4 = "String\t"
str5 = "is powerful"
print(str4 + str5)  # 输出:String is powerful

常用算法

Python字符串的算法较多,具体可以参考官方文档,或者文献1。一下罗列的是在进行Python开发中最经常使用的方法(个人,哈哈),我也相信是每一个Python程序员都应该掌握的。假设有字符串string,

函数名称 函数说明
string.find(sub,[,start[,end]]) 返回在字符串中找到的子字符串sub的最低索引,使得sub包含在切片string[start:end],如果未找到,则返回-1
string.split([sep[,maxsplit]]) 返回字符串中的单词列表,使用sep作为分隔符切割字符串。如果给出maxsplit,则至多拆分maxsplit次,如果没有指定maxsplit或未-1,那么分割的数量没有限制
string.join(iterator) 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接成一个新的字符串并返回
string.strip([chars]) 返回字符串的一个副本,删除字符串的前导和尾随字符(空格,换行等)。chars参数则是一个字符串,指定要移出的字符集。如果要省略或为None,则chars参数默认未删除空白字符(\n\r\t)
string.lower() 将字符串中所有大写字符变为小写
string.isanum() 如果字符串中至少有一个字符,并且所有字符都是数字或者字母,则返回True,否则返回False
string.count(sub[,start[,end]]) 返回在string[start:end]范围内的字串sub非重叠出现的次数。可选参数start和end都可以理解为切片
string.replace(old, new[,count]) 返回字符串的一个拷贝,其中所有的字串old通过new替换,如果指定了可选参数count,则只有前面的count个出现被替换

关于字符串常用的函数大体记录到这,现在拿几个方法实际操作一下:

string = "today is a good day"
# 利用空格符分割开字符串
words = string.split()
print(words)
#还原字符(对象为一个list)
string = " ".join(words)
print(string)
#使用分隔符拼接字符串
string2 = "today"
print("-".join(string2))
#使用指定分隔符切割字符串
string3 = "one,two,three,four,Five!six+Seven,one"
print(string3.split(","))
#使用多个分隔符切割字符串
for seg in [',','!','+']:
    # 需要为目标字符串重新赋值,replace函数不改变原来字符串,会返回一个副本
    string3 = string3.replace(seg, " ")  # 将字符中包含的分割符替换为空格
print(string3.split())
# 统计某个字符或字符串出现的次数
print(string3.count(" "), string3.count("one"))
# 判断字符串是否为包含数字
print("133".isalnum(), "abc好1234".isalnum())

对应输出如下:

['today', 'is', 'a', 'good', 'day']
today is a good day
t-o-d-a-y
['one', 'two', 'three', 'four', 'Five!six+Seven', 'one']
['one', 'two', 'three', 'four', 'Five', 'six', 'Seven', 'one']
7 2
True True

以上介绍的函数也只是Python在字符串操作中的冰山一角,很多实际开发中用到的函数还需要我们根据官方文档进行深入了解。

Reference

1.https://www.runoob.com/python3/python3-string.html

赞(0) 打赏
未经允许不得转载:AIAS编程有道 | Artificial Intelligence Algorithm Scientist » 【Python】字符串使用总结
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用,就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏