字符串操作
Posted stuwu79
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串操作相关的知识,希望对你有一定的参考价值。
对字符串的操作
#String 内容
a = "Let‘s go"
乘法操作:
print(‘hellow‘*2)
通过索引获得字符串中字符,这里和列表的切片操作是相同的,具体内容见列表:
print(‘hellow woeld‘[2:])从位置2取到最后
成员运算符操作,字符中包含给定字符则返回True:
print(‘e2l‘ in ‘hello‘) 存在返回True 不在返回False
例如:
print(123 in [12,123,1111])
结果:True
格式化字符串:
print(‘alex is a good teacher‘)
print(‘%s is a good teacher‘%‘alex‘)
字符串的拼接:
a=‘123‘
b=‘456‘
c = a+b
print(c)
结果:
123456
拼接:join方法
a=‘123‘
b=‘abc‘
c=‘000‘
d = ‘#####‘.join([a,b,c])
结果:
123####abc####000
python内置方法:
1 #_auther_="stuwu79" 2 #date:2019/9/27 3 4 st = ‘hello kitty name is age‘ 5 st.count("l")#计算‘l‘个数 6 st.capitalize()#整个字符串首字母大写 7 st.center(50,‘-‘)#(居中)打印50个字符,本身字符串在中间,剩下的两边补上‘-‘ 8 st.rjust(50,"*") 9 st.ljust(50,"*")#只在左,其他补齐* 10 11 st.encode()#编码问题 12 13 14 st.endswith("y")#判断以什么结尾。正确给True,错误给False 15 st.startswith("h")#判断以什么开头 16 st.expandtabs(tabsize=20)#在字符串中间放\t设定插入空格数 17 18 st.find(‘l‘)#查找第一个元素在字符串的位置并且返回(空格也算位置) 19 st.index(‘t‘)#找不到就报错(给 -1) 20 21 st.format(name = ‘alex‘,age = ‘37‘)#格式化输出的方式 22 st.format_map(‘name‘:‘alex‘,‘age‘:22)#意义相同,方式不同 23 24 ‘abc456‘.isalnum() #不是特殊字符都给True 25 ‘AF00‘.isdecimal() #判断是不是10进制 26 27 ‘12121212‘.isdigit() #判断是不是整型 28 ‘121233‘.isnumeric() #一样的 29 30 ‘1121324‘.isidentifier()#判断是不是非法变量(根据变量命名规则) 31 32 ‘Abc‘.islower()#判断是否是全小写(全大写) 33 ‘Abc‘.isupper() 34 35 ‘ e‘.isspace()#判断有没有空格 36 ‘adasda‘.istitle()#判断是不是标题(每个单词首字母大写) 37 ‘adasdad‘.lower()#所有大写变小写 38 ‘adasda‘.upper() 39 ‘adasda‘.swapcase()#翻转,大写变小写。小写变大写 40 41 ‘ asda\n‘.strip()#前后的空格,换行符全去掉 42 ‘ asda\n‘.lstrip()#只去除左边的 43 ‘ asda\n‘.rstrip()#只去除右边的 44 45 ‘My title title‘.replace(‘itle‘,‘lesson‘,1)#替换,某些内容替换成另一个内容可以控制替换几次 46 ‘My title title‘.rfind(‘t‘)#从右向左找 47 ‘My title title‘.split(‘ ‘)#以“ ”为分割对象对字符串进行分割(将字符串分割成列表) 48 ‘My title title‘.title() #每个单词首字母大 49 50 51 #特别重要的字符串方法: 52 53 54 st.count("l")#计算‘l‘个数 55 st.startswith("h")#判断以什么开头 56 st.find(‘l‘)#查找第一个元素在字符串的位置并且返回(空格也算位置) 57 58 59 st.format(name = ‘alex‘,age = ‘37‘)#格式化输出的方式 60 st.format_map(‘name‘:‘alex‘,‘age‘:22)#意义相同,方式不同 61 62 63 ‘ asda\n‘.strip()#前后的空格,换行符全去掉 64 ‘ asda\n‘.lstrip()#只去除左边的 65 ‘ asda\n‘.rstrip()#只去除右边的 66 67 ‘My title title‘.split(‘ ‘)#以“ ”为分割对象对字符串进行分割(将字符串分割成列表) 68 69 ‘My title title‘.replace(‘itle‘,‘lesson‘,1)#替换,某些内容替换成另一个内容可以控制替换几次
三级菜单的实现:
本次实现重复代码较多:
1 #_auther_="stuwu79" 2 #date:2019/9/27 3 #要求:可以进入所有层 4 #可以退出或者返回上一层 5 menu = 6 ‘北京‘: 7 ‘朝阳‘: 8 ‘国贸‘: 9 ‘CICC‘:, 10 ‘HP‘:, 11 ‘CCTV‘:, 12 , 13 ‘望京‘: 14 ‘陌陌‘:, 15 ‘奔驰‘:, 16 ‘360‘:, 17 , 18 ‘三里屯‘: 19 ‘优衣库‘:, 20 ‘apple‘:, 21 , 22 , 23 ‘昌平‘: 24 ‘沙河‘: 25 ‘老男孩‘:, 26 ‘阿泰包子‘:, 27 , 28 ‘天通苑‘: 29 ‘链家‘:, 30 ‘我爱我家‘:, 31 , 32 ‘回龙观‘:, 33 , 34 ‘海淀‘: 35 ‘五道口‘: 36 "谷歌":, 37 "网易":, 38 "Sohu":, 39 "快手":, 40 , 41 ‘中关村‘: 42 "youku": , 43 "iqiyi": , 44 "汽车之家": , 45 "新东方": , 46 "QQ": , 47 , 48 , 49 , 50 ‘上海‘: 51 ‘浦东‘: 52 "陆家嘴": 53 "CICC":, 54 "高盛":, 55 "摩根":, 56 , 57 "外滩": , 58 , 59 ‘闵行‘:, 60 ‘静安‘:, 61 , 62 ‘山东‘: 63 "济南":, 64 "德州": 65 "乐陵": 66 "丁务镇":, 67 "居然镇":, 68 , 69 "平原":, 70 , 71 "青岛":, 72 , 73 74 75 back_flag = False 76 exit_flag = False 77 78 while not back_flag and not exit_flag: 79 for key in menu : 80 print(key) 81 choice = input("1>>:").strip() 82 if choice == "q": 83 exit_flag = True 84 if choice in menu: 85 while not back_flag and not exit_flag:#让程序停在第二层 86 for key2 in menu[choice]: 87 print(key2) 88 choice2 = input("2>>:").strip() 89 if choice2 == "b": 90 back_flag = True 91 if choice2 == "q": 92 exit_flag = True 93 if choice2 in menu[choice]: 94 while not back_flag and not exit_flag: 95 for key3 in menu[choice][choice2]: 96 print(key3) 97 choice3 = input("3>>:").strip() 98 if choice3 == "b": 99 back_flag = True 100 if choice3 == "q": 101 exit_flag = True 102 if choice3 in menu[choice][choice2]: 103 while not back_flag and not exit_flag: 104 for key4 in menu[choice][choice2][choice3]: 105 print(key4) 106 choice4 = input("4>>:").strip() 107 print("last level") 108 if choice4 =="b": 109 back_flag = True 110 if choice4 == "q": 111 exit_flag = True 112 else: 113 back_flag = False 114 else: 115 back_flag = False 116 117 else: 118 back_flag = False
修改版本:
#_auther_="stuwu79"
#date:2019/9/27
#要求:可以进入所有层
#可以退出或者返回上一层
menu =
‘北京‘:
‘朝阳‘:
‘国贸‘:
‘CICC‘:,
‘HP‘:,
‘CCTV‘:,
,
‘望京‘:
‘陌陌‘:,
‘奔驰‘:,
‘360‘:,
,
‘三里屯‘:
‘优衣库‘:,
‘apple‘:,
,
,
‘昌平‘:
‘沙河‘:
‘老男孩‘:,
‘阿泰包子‘:,
,
‘天通苑‘:
‘链家‘:,
‘我爱我家‘:,
,
‘回龙观‘:,
,
‘海淀‘:
‘五道口‘:
"谷歌":,
"网易":,
"Sohu":,
"快手":,
,
‘中关村‘:
"youku": ,
"iqiyi": ,
"汽车之家": ,
"新东方": ,
"QQ": ,
,
,
,
‘上海‘:
‘浦东‘:
"陆家嘴":
"CICC":,
"高盛":,
"摩根":,
,
"外滩": ,
,
‘闵行‘:,
‘静安‘:,
,
‘山东‘:
"济南":,
"德州":
"乐陵":
"丁务镇":,
"居然镇":,
,
"平原":,
,
"青岛":,
,
back_flag = False
exit_flag = False
while not back_flag and not exit_flag:
for key in menu :
print(key)
choice = input("1>>:").strip()
if choice == "q":
exit_flag = True
if choice in menu:
while not back_flag and not exit_flag:#让程序停在第二层
for key2 in menu[choice]:
print(key2)
choice2 = input("2>>:").strip()
if choice2 == "b":
back_flag = True
if choice2 == "q":
exit_flag = True
if choice2 in menu[choice]:
while not back_flag and not exit_flag:
for key3 in menu[choice][choice2]:
print(key3)
choice3 = input("3>>:").strip()
if choice3 == "b":
back_flag = True
if choice3 == "q":
exit_flag = True
if choice3 in menu[choice][choice2]:
while not back_flag and not exit_flag:
for key4 in menu[choice][choice2][choice3]:
print(key4)
choice4 = input("4>>:").strip()
print("last level")
if choice4 =="b":
back_flag = True
if choice4 == "q":
exit_flag = True
else:
back_flag = False
else:
back_flag = False
else:
back_flag = False
以上是关于字符串操作的主要内容,如果未能解决你的问题,请参考以下文章
python基础之 列表元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
RedisRedis 字符串数据操作 ① ( 访问字符串值数据 | 操作数据库中的字符串数据 | 数字数据操作 | 原子操作 )
Java学习之IO流(其他操作流 操作基本数据类型操作字节数组操作字符数组操作字符串)