python字符串及练习题Word格式.docx
《python字符串及练习题Word格式.docx》由会员分享,可在线阅读,更多相关《python字符串及练习题Word格式.docx(13页珍藏版)》请在冰点文库上搜索。
s=info[3]结果:
a"
str1instr2
包含
判断一个字符串str2是否包含另一个字符串str1
str1:
比对字符串对象
str2:
原始字符串对象
结果是True或False
str1="
cast"
str2="
str2instr1结果:
False
str1instr2结果:
True
str1notinstr2
不包含
判断一个字符串str2是否不包含另一个字符串str1
str2notinstr1结果:
str1notinstr2结果:
len(str)
长度
本操作是一个函数,无须用字符串对象调用,用于获取一个字符串中所包含的字符数量
str:
字符串对象
结果是一个int整数
len(info)结果:
6
max(str)
最大值
本操作是一个函数,无须用字符串对象调用,用于获取字符串中排序最大的字符
结果是一个包含了单个字符的字符串
max(info)结果:
t"
min(str)
最小值
本操作是一个函数,无须用字符串对象调用,用于获取字符串中排序最小的字符
3.2状态获取操作
方法名
islower()
是否全小写
判断字符串是否是全小写字母组成
无
info1="
info1.islower()结果:
info2="
ITHEIMA"
info2.islower()结果:
isupper()
是否全大写
判断字符串是否是全大写字母组成
info1.issupper()结果:
info2.issupper()结果:
isdigit()
是否全数字
判断字符串是否是由纯数字组成
666"
info1.isdigit()结果:
itcast666"
info2.isdigit()结果:
isalpha()
是否全字母
判断字符串是否是由纯字母组成
info1.isalpha()结果:
info2.isalpha()结果:
isalnum()
是否全数字字母
判断字符串是否是由纯数字和字母组成
info1.isalnum()结果:
itcast_666"
info2.isalnum()结果:
istilte()
是否单词首字母大写
判断字符串是否是满足单词首字母大写格式
ItCast"
info1.istitle()结果:
ItCast"
info2.istitle()结果:
startswith(str)
判定前缀
判断字符串是否以指定字符串开始
用于作为判定条件的字符串对象
logo.png"
info.startswith("
lo"
)结果:
endswith(str)
判定后缀
判断字符串是否以指定字符串结束
info.endswith("
.png"
3.3字符转换操作
lower()
转小写
字符串中所有字母转小写字母,支持英文字母
结果是一个字符串
str1.lower()结果:
ITCAST666"
str2.lower()结果:
casefold()
字符串中所有字母转小写字母,支持各种语言
str2.lower()结果:
upper()
转大写
字符串中所有字母转大写字母
str1.upper()结果:
ITCAST"
str2.upper()结果:
swapcase()
大小写互换
字符串中字母大写转小写,小写转大写
ITheima"
str1.swapcase()结果:
isHEIMA"
Itcast666"
str2.swapcase()结果:
iTCAST666"
title()
单词首字母大写其他小写
字符串中每个单词首字母大写,其余字母小写(区分单词以空格区分)
str1.title()结果:
Itcast"
itheima"
str2.title()结果:
ItHeiMa"
capitalize()
字符串首字母大写其他小写
字符串首个字母大写,其余字母小写
str1.capitalize()结果:
str2.capitalize()结果:
Itheima"
3.4格式转换操作
strip(str)
左右去字符
去掉字符串左右两侧在参数字符串中包含的所有字符
包含了若干个字符的字符串
itcast"
str1.strip("
"
)结果:
str2.strip("
it"
cas"
str3="
str3.strip("
sat"
itc"
lstrip(str)
左侧去字符
去掉字符串左侧在参数字符串中包含的所有字符
itcast"
ljust(len,str)
右侧补占位符
使用指定字符在原始字符串右侧补充到长度为指定值
len:
补充字符后的字符串长度
补充的字符,如果使用多个字符组成的字符串将报错
str1.ljust(10,"
6"
)结果:
itcast6666"
str1.ljust(5,"
66"
报错
rjust(len,str)
左侧补占位符
使用指定字符在原始字符串左侧补充到长度为指定值
str1.rjust(10,"
6666itcast"
str1.rjust(5,"
center(len,str)
左右两侧补占位符
使用指定字符在原始字符串两侧补充到长度为指定值,左侧补充数量≥右侧补充数量
str1.center(10,"
66itcast66"
str1.center(11,"
666itcast66"
str1.center(5,"
zfill(len)
左侧补0
使用0在原始字符串左侧补充到长度为指定值,小数点占1位
3.14"
str1.zfill(6)结果:
003.14"
314"
str2.zfill(6)结果:
000314"
str3.zfill(3)结果:
3.5拆分操作
partition(str)
左侧查询3段拆分
从字符串左侧查找到参数后,将参数左侧、参数、参数右侧的三个字符串组成元组并返回
比对字符串
包含三个字符串的元组对象
str1.partition("
("
i"
"
)
o"
rpartition(str)
右侧查询3段拆分
从字符串右侧查找到参数后,将参数左侧、参数、参数右侧的三个字符串组成元组并返回
hellopython"
str1.rpartition("
("
hellopy"
hon"
split(str)
多段拆分
使用参数作为分割线将原始字符串拆分成若干个字符串并组织成列表返回
包含多个字符串的列表对象
str1.split("
)结果:
["
hell"
pyth"
n"
]
oo"
splitlines()
使用换行符作为分割线将原始字符串拆分成若干个字符串并组织成列表返回
hello\nitcast\npython"
str1.splitlines()结果:
hello"
python"
helloitcast"
str2.splitlines()结果:
3.6连接操作
join(str)
占位连接
将原始字符串填充到参数的每个字符之间组成新的字符串返回
待填充的字符串
.join("
i6t6c6a6s6t"
i66t66c66a66s66t"
str1+str2
字符串连接
将两个字符串按照顺序拼接成一个新的字符串返回
+"
heima"
结果:
itheima"
hello"
3.7查询操作
find(str,begin,end)
左侧查找
从左侧查找字符串从指定开始位置到指定结束位置间第一次出现的索引位置
要查找的字符串
begin:
开始索引,整数,该值要小于end,否则结果为-1
end:
结束索引,整数,改制要小于begin,否则结果为-1
结果是一个int整数,如没有查找到返回-1
str1.find("
1
3,6)结果:
5
6,3)结果:
-1
2
m"
rfind(str,begin,end)
右侧查找
从右侧查找字符串从指定开始位置到指定结束位置间第一次出现的索引位置
str1.rfind("
0,4)结果:
4,0)结果:
rindex(str,begin,end)
开始索引,整数,该值要小于end,否则结果报错
结束索引,整数,改制要小于begin,否则结果报错
结果是一个int整数,如没有查找到报错
str1.index("
str1.rindex("
count(str)
字符串数量
查询指定字符串在原始字符串中出现的次数
被查询的字符串
info.count("
tc"
3.8替换操作
replace(old_str,new_str,num)
替换
使用新字符串替换原始字符串中的指定字符串信息
old_str:
被替换的字符串
new_str:
新字符串
num:
替换数量
str1.replace("
"
T"
iTcasT"
1)结果:
iTcast"
expandtabs()
\t换空格
使用空格替换原始字符串中的制表位\t
itca\tst"
str1+str2"
66itcast"
(空白是一个\t)
str1+str2.expandtabs()"
(空白是4个空格)
3.9其他操作
maketrans(str1,str2)
生成字典
使用两个等长的字符串中的每个对应位置的字符生成一个字典对象
用于生成字典中key的字符对应的字符串,长度必须与str2相同
用于生成字典中value的字符对应的字符串,长度必须与str1相同
包含字符串对应位置字符组成的字典对象
str.maketrans("
123"
abc"
{49:
97,50:
98,51:
99}
translate(dict)
使用字典关系转换
使用字典对字符串信息进行转换
dict:
包含有转换关系的字典对象
dict1={49:
123456"
.translate(dict1)结果:
abc456"
练习题
1.从键盘中输入5个学生的名字,存储到列表中,然后随机抽出一名学生去打扫卫生。
Importrandom
List1=[]
ForIinrange(5):
Name=input(“请输入学生姓名”)
List1.append(name)
Print(list1[random.randint(0,4)])
2.获取1-100之间所有包含3的数313233031....
ForIinrange(0,101):
If“3”instr(i):
Print(i)
3.在学员列表中搜索指定的姓名,找到了打印找到的字典信息,找不到打印没有找到
a=input("
请输入姓名:
students=[{"
name"
:
阿土"
},
{"
小美"
}]
ifstudents[0]["
]==a:
print(students[0]["
])
elifstudents[1]["
print(students[1]["
else:
print("
没找到"
4.采用循环遍历的方法对列表list1去重
list1=[2,3,4,5,4,3,5,6,7,8,9,0,9,8,7,6,5,1,2,3,4,9,0]
newList=[]
foriinlist1:
ifinotinnewList:
newList.append(i)
print(newList)
4.将字符串"
k:
1|k1:
2|k2:
3|k3:
4"
,处理成Python字典:
{k:
1,k1:
2,...}#字典里的K作为字符串处理
defstr2dict(str1):
dict1={}
foritermsinstr1.split("
|"
):
key,value=iterms.split("
dict1[key]=value
returndict1
print(str2dict(str1))