2.Python 控制流 + 字符串处理方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了2.Python 控制流 + 字符串处理方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5092字,纯文字阅读大概需要8分钟。
内容图文
![2.Python 控制流 + 字符串处理方法](/upload/InfoBanner/zyjiaocheng/610/83da1313685f4d6f965ec44913cdfc23.jpg)
2. 控制流
2.1 if分支
score = int(input("请输入你的分数:"))
if score == 100:
print("恭喜你!满分!")
elif score >= 90:
print("优秀!")
else:
print("良好")
OUT:
请输入你的分数:100
恭喜你!满分!
请输入你的分数:92
优秀!
请输入你的分数:78
良好
2.2 循环
2.1.1 for循环
list = [1,4,2,6,8,9,3,10]
result = []
for i in list:
y = i ** 2 + 1
result.append(y)
print(result)
OUT:
[2, 17, 5, 37, 65, 82, 10, 101]
如果是对可迭代对象中的每一个元素做相同处理的话,可以用下列的表达式。
[expression for i in iterable if condition],上面的代码可以写成:
list = [1,4,2,6,8,9,3,10]
result = [i ** 2 + 1 for i in list if i > 0]
print(result)
OUT:
[2, 17, 5, 37, 65, 82, 10, 101]
2.2.2 while循环
#for循环实现
for i in range(1,6):
user = input("请输入用户名:")
password = int(input("请输入密码:"))
if(user == 'admin')&(password == 123456):
print("登录成功!")
break
else:
if i < 5:
print('错误! 您今日还剩%d次输入机会。'%(5-i))
else:
print('请24小时后再尝试登录!')
#while循环实现
while True:
user = input('请输入用户名:')
password = int(input('请输入密码:'))
if(user == 'admin')&(password == 123456):
print('登录成功!')
break
else:
print('您输入的用户名和密码错误!')
3. 字符串处理方法
3.1 字符串的常用方法
字符串的构造方法
#单引号构造字符串
string1 = '"commentTime":"2018-2-1 10:12:34","content":"五湖四海"'
#双引号构造字符串
string2 = "ymd : '2018-2-3',bWendu:'5 c'"
#三引号构造字符串
string3 = '''今天晴到多云,有微风。'''
几个字符串处理的方法:
- string[start : end : step] 字符串的切片
- string.split 字符串的切割
- string.strip 删除首尾空白
- string.rstrip 删除字符串右边空白
- string.index 返回子串首次出现的位置
- string.startswith 字符串是否以什么开头
- string.replace 字符串的替换
- sep.join 将可迭代对象按sep分隔符拼接为字符串
- string.lstrip 删除字符串左边空白
- string.count 对字符串的字串计数
- string.find 返回子串首次出现的位置(找不到返回-1)
- string,endswith 字符串是否以什么结尾
#获取身份证号码中的出身日期
print('112341199912207898'[6:14])
#将手机号的中间四位替换成*
tel = '13096754789'
print(tel.replace(tel[3:7], '****'))
#将邮箱按@分开
print('3384677678@qq.com'.split('@'))
#将Python的每个字母用减号连接
print('-'.join('Python'))
#删除" 今天星期天 "的首位空白
print(' 今天星期天 '.strip())
#查询"Python"单词所在的位置
string1 = "我是一名Python开发工程师,Python给我的工作带来了很大的便利。"
print(string1.index('Python'))
#计算子串"中国"在字符串中的个数
string2 = '中国防范引领世界前行,展现了中国应时而为、勇于担当的作用。'
print(string2.count('中国'))
print(string2.find('中国'))
#字符串是否以'2018年'开头
string3 = '2017年匆匆而过,迎来了崭新的2018年!'
print(string3.startswith('2017'))
print(string3.endswith('2018年'))
3.2 正则表达书
符号 | 含义 | 示例 |
---|---|---|
. | 可以匹配任意字符,但不包含’\n‘ | Py.on -> Python |
\ | 转义符 | 10\.1 -> 10.1 |
| | 逻辑或 | 公|人民 -> 公民或者人民 |
[] | 用于匹配的一组字符 | m[aA]n - > man 或者 mAn |
\d与\D | \d表示任意数字,\D表示所有非\d | 今天\d号 -> 今天3号 |
\s与\S | \s匹配任意空白字符,\S代表所有非\s | 你\s好 - > 你 好 |
\w与\W | \w表示匹配字母数字和下划线,\W代表所有非\w | P\wy - > Pay |
* | 匹配前一个0到无穷次 | OK* -> O或者OK或者OKK |
+ | 匹配前一个字符1到无穷次 | OK+ -> OK或者OKK |
? | 匹配前一个字符0到1次 | OK? -> O 或者 ?OK |
{m} | 匹配前一个字符m次 | OK{3} -> OKKK |
{m,n} | 匹配前一个字符m到n次 | OK{1,2} -> OK或者OKK |
(.*?) | 用于分组,默认返回括号内的匹配内容 | 见后续案例 |
1、匹配查询函数
findall(pattern,string,flags=0)
findall函数可以对制定的字符串进行遍历匹配,获取字符串所有匹配的子串,并返回一个列表结果。
- pattern:指定需要匹配的正则表达式。
- string:指定待处理的字符串。
- flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。
2、匹配替换函数
sub(pattern,repl,string,count=0,flags=0)
sub函数的功能是替换,类似于字符串的replace方法,该函数根据正则表达式把满足匹配内容替换为repl。
- pattern:同findall函数中的pattern。
- repl:指定替换成的新值。
- string:同findall函数中的string。
- count:用于指定最多替换的次数,默认为全局替换。
- flags:同findall函数中的flags。
3、匹配分割函数
split(pattern,string,maxsplit=0,flags=0)
split函数是将字符串按照指定的正则表达式分隔开。
- pattern:同findall函数中的pattern。
- maxsplit:用于指定最大分割次数,默认为全部替换。
- string:同findall函数中的string。
- flags:同findall函数中的flags。
#导入用于正则表达式的re模块
import re
#取出字符中所有的天气状态
string8 = "{ymd:'2018-1-1',tianqi:'晴',aqiInfo:'轻度污染'},{ymd:'2018-1-2',tianqi:'阴天',aqiInfo:'中度污染'},{ymd:'2018-1-3',tianqi:'雨天',aqiInfo:'重度污染'}"
print(re.findall("tianqi:'(.*?)'", string8))
#取出所有含o字母的单词
string9 = "Together,we discovered that a free market only thriles when there are rules to ensure competition and fair pay."
print(re.findall('\w*o\w*', string9,flags = re.I))
#将标点符号、数字和字母删除
string10 = '我是一名计算机专业大三学生,我正在学习Python数据处理。'
print(re.sub('[,。、a-zA-Z0-9()]', '', string10))
string11 = '2室2厅 | 101.62平 | 底区/7层 | 朝南 | \n 浦东 - 金杨 - 2006年建'
split = re.split('[-\|\n]', string11)
print(split)
split_strip = [i.strip() for i in split]
print(split_strip)
OUT:
['晴', '阴天', '雨天']
['Together', 'discovered', 'only', 'to', 'competition']
我是一名计算机专业大三学生我正在学习数据处理
['2室2厅 ', ' 101.62平 ', ' 底区/7层 ', ' 朝南 ', ' ', ' 浦东 ', ' 金杨 ', ' 2006年建']
['2室2厅', '101.62平', '底区/7层', '朝南', '', '浦东', '金杨', '2006年建']
内容总结
以上是互联网集市为您收集整理的2.Python 控制流 + 字符串处理方法全部内容,希望文章能够帮你解决2.Python 控制流 + 字符串处理方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。