第四章字符串

目录

学习目标

一、字符串介绍

二、格式化字符串

1.使用%格式化字符串

2.format()格式化字符串

3.f-string格式化字符串

三、字符串的常见操作

1.字符串的查找与替换 

2.字符串的分隔与拼接 

3.删除字符串中的指定字符

4.转化字符串中的指定字符的大小写

5.字符串的对齐 

 章节例题

1.

2. 

总结



学习目标

1.掌握字符串的定义格式

2.掌握字符串格式化

3.熟悉字符串的常见操作


一、字符串介绍

       字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。

       Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。使用反斜杠“\”转义。例如,在字符串中的引号前添加“\”,此时Python解释器会将“\”之后的引号视为解释为一个普通字符,而非特殊符号。

       一些普通字符与反斜杠组合后将失去原有意义,产生新的含义。类似这样的由“\”和而成的、具有特殊意义的字符就是转义字符。转移字符通常用于表示一些无法显示的字符,例如空格、回车等等。

 

二、格式化字符串

1.使用%格式化字符串

       格式化字符串是指将指定的字符串转换为想要的格式。Python字符串可通过%格式符格式化输出。

format % values  #format为字符串   values为真实数据

 不同的占位符为不同类型的变量预留位置,常见的占位符如下所示。

2.format()格式化字符串

 str.format(values)  #str为字符串   values为真实数据

 3.f-string格式化字符串

f('{变量名}')

F('{变量名}')

三、字符串的常见操作

1.字符串的查找与替换 

       find()方法,该方法可查找字符串中是否包含子串,若包含则返回子串首次出现的位置,否则返回-1。

word = 't'
string = 'Python'
result = string.find(word)
print(result)  #此时输出结果为 2

        replace()方法,该方法可将当前字符串中的指定子串替换成新的子串,并返回替换后的新字符串。

string = 'He said, "you have to go forward, ' \
'Then turn left, Then go forward, and Then turn right."'
# 指定替换两次
new_string = string.replace("Then", "then",2)
print(new_string)

输出的结果为:

 He said, "you have to go forward, then turn left,  then go forward, and Then turn right."

2.字符串的分隔与拼接 

       split()方法可以按照指定分隔符对字符串进行分割,该方法会返回由分割后的子串组成的列表。

string= "Hello, my name is Huang Hao"
# 以空格作为分割符,并分割2次
print(string.split(' ', 2))

输出的结果为:

 ['Hello,', 'my', 'name is Huang Hao']

       join()方法使用指定的字符连接字符串并生成一个新的字符串。

symbol = '*'
world = 'Python'
print(symbol.join(world))

输出的结果为:

 P*y*t*h*o*n

       在Python中还可以用 "+" 拼接字符串。

例: "Py"  +  "thon"  得到的结果为  "Python"

3.删除字符串中的指定字符

        Python中的strip()、lstrip()和rstrip()方法可以删除字符串中的指定字符。(常用于删除空格)

4.转化字符串中的指定字符的大小写

       Python中支持字母大小写转换的方法有upper()、lower()、capitalize()和title()。

5.字符串的对齐 

       Python有center()、ljust()、rjust()这3个方法来设置字符串的对齐方式。


 章节例题

1.

一段DNA序列,每3个字符作为一个整体,放入一个列表中,若最后不够3个,则剩下的作为一个整体。
例如:
dna = "GATGGAACTTGACTACGTAAATT"
结果为:
['GAT', 'GGA', 'ACT', 'TGA', 'CTA', 'CGT', 'AAA', 'TT']

代码如下:

dna='GATGGAACTTGACTACGTAAATT'
t=0
l=[]
for index in range(0, len(dna), 3):
    t=dna[index:index+3]
    l.append(t)
print(l)

 输出的结果为:

['GAT', 'GGA', 'ACT', 'TGA', 'CTA', 'CGT', 'AAA', 'TT']

2. 

已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下

2.1 请将a字符串的大写改为小写,小写改为大写

2.2请将a字符串的数字取出,并输出成一个新的字符串。
#提示:a = '2345',a.isdigit()

2.3 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {‘a’:4,’b’:2}
#提示:c = 'aasdebbcaa',c.count('a')

2.4 请去除a字符串多次出现的字母,仅留最先出现的一个。例 ‘abcabb’,经过去除后,输出 ‘abc’

2. 5去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符 串。
# (保留大小写,a与A的顺序关系为:A在a前面。例:AaBb)

代码如下:

a='aAsmr3idd4bgs7Dlsf9eAF'
#2.1
print(a.swapcase())
#2.2
import re
a = ''.join(re.findall("\d+",a))
print(a)
#2.3
print(dict([(x,a.count(x)) for x in set(a)]))
#2.4
a_list=list(a)
# print(set(a_list))   #set 去重  无序  字典和集合不可排序
set_list=list(set(a_list)) #去重以后转化为list
set_list.sort(key=a_list.index)#对去重后按照list原来排序
print(''.join(set_list))    #拼接成字符串
# 2.5
l = sorted(a)
# print l  sort排序结果:字母数字分开排序
a_upper_list = []  # 声明大写list
a_lower_list = []  # 声明小写list
for x in l:  # 遍历排序过的list 将大小写分别存在两个list中
    if x.isupper():
        a_upper_list.append(x)
    elif x.islower():
        a_lower_list.append(x)
    else:
        pass
for y in a_upper_list:  # 遍历大写list
    y_lower = y.lower()
    if y_lower in a_lower_list:
        a_lower_list.insert(a_lower_list.index(y_lower), y)  # 把大写list中的字母插入到 原来这个位置是该字母小写的位置 不覆盖  顺延 index定位
# print a_lower_list
print(''.join(a_lower_list))  # 拼接成字符串输出

总结

       本章主要讲解了Python字符串的相关知识,包括什么是字符串、格式化字符串、字符串的常见操作,并结合精彩实例演示了字符串的使用。 通过本章的学习,希望读者能够掌握字符串的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值