写在前面:下边儿的一些知识点是在刷leetcode中遇到的,如有错误,麻烦在评论区说一下子
简单
正则表达式
几个函数
在开头需要import re
资料:正则表达式模式
- re.match
re.match(a,b,flags)
参数介绍:
a: 匹配的正则表达式
b: 源字符串
flags: 控制a的匹配方式,如是否区分大小写
功能:从开头开始找,找到就返回a在b的哪块,如果b的开头不符合flag的话,就返回none
- re.search
re.search(a,b,flags)
参数和上一个一样的意思
功能:全字符串匹配,直到找到一个符合a条件的,返回a在b的哪块,否则返回none
怎么写正则表达式还是要自己慢慢悟
切片
-
切片能干什么?
切片主要是挑取给定数据(可以为字符串或者列表等)的其中一部分,我遇到的那道题是一个整数反转的,切片就可以做到这一点 -
基本介绍
一个完整的切片表达式包含两个":",用于分隔三个参(start_index,end_index,step),当只有一个":"时,默认第三个参数step=1。
a[start_index:end_index:step]
- 参数介绍
start_index:开始的下标
end_index:结束的下标
step:步长,正数时为从左到右切,负数时为从右到左切 - 例子
当a为-12345时,返回-54321
当a为12345时,返回54321
分析:
首先要将整数转为字符串,然后判断第一位是不是’-’,如果是则反转后边的几位,如果不是则全部反转。
其中,如果是个位数,则直接返回
def reverse(self, x: int) -> int:
# 判断是否为个位数,是个位数则不用反转,直接返回
if -10 < x < 10:
return x
# 把整数x转为字符串
str_x = str(x)
# 判断第一个是否为负号
if str_x[0] != "-":
# 不是负号则直接反转
str_x = str_x[::-1]
# str转为int
x = int(str_x)
return x
else:
# 是负号,则反转负号之后的字符串
str_x = str_x[1:][::-1]
# str转int
x = int(str_x)
# 加上负号
x = -x
return x