当前位置:网站首页>正则表达式,生成器,迭代器
正则表达式,生成器,迭代器
2022-07-17 05:22:00 【我是渣渣辉】
1.定义一个生成器函数
生成1-10
使用next(generator)方法获取1-10
使用for循环获取
def generator():
for i in range(1, 11):
yield i
gen = generator()
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
print(next(gen))
2.模拟range的功能,自己建立一个range:MyRange
range(10)
range(1, 10)
range(1, 10, 1) =>
start, stop, step
range(10, 1, -1)
range(10, -1, -1)
range(-10, -1, 1)
range(-1, -10, -1)
class MyRange:
def __init__(self, start, stop, step=0):
self.start = start
self.stop = stop
self.step = step
def __iter__(self):
return self
def __next__(self):
if self.step == 0:
self.step = 1
if self.step > 0:
if self.start < self.stop:
se = self.start
self.start += self.step
return se
else:
raise StopIteration
else:
if self.start > self.stop:
se = self.start
self.start += self.step
return se
else:
raise StopIteration
print(list(MyRange(10, 1, -1)))
print(list(MyRange(10, -1, -1)))
print(list(MyRange(-10, -1, 1)))
print(list(MyRange(-1, -10, -1)))
3. re中函数的使用(自己写用例来使用):
""" match fullmatch search findall finditer split sub subn complie """
print(re.match('pattern', 'pattern asdf'))
print(re.match('pattern', 'paasdern asdf'))
print(re.fullmatch("pattern", 'pattern'))
print(re.fullmatch("pattern", 'pattern asdf'))
print(re.search("pattern", "asdpatternads"))
print(re.search("pattern", "asdpaternads"))
print(re.findall('pattern', "pattern pattern asdpattern"))
iter_or = re.finditer("pattern", "pattern pattern asdpattern")
for i in iter_or:
print(i)
print(re.split(r'\.', 'asd.txt'))
print(re.sub('pattern', '.', "pattern pattern asdpattern"))
print(re.subn('pattern', '.', "pattern pattern asdpattern"))
print(re.compile('asd'))
边栏推荐
- 明明爱喝水
- Technical specification for secure electronic signature and password gm/t 0031 | GB / T 38540 format OpenSSL package analysis
- 文本三剑客之awk命令--截取
- Good partner of single chip microcomputer - CS Genesis SD NAND flash
- 银河麒麟服务器系统搭建本地和局域网yum源
- notepad++下划线以及大小写字母置换
- Slag learning road (2) pure white direction: win Server 2003 server building
- Xiaodi network security - note encryption coding algorithm (6)
- Gentoo安装教程(Systemd+Gnome)
- 各大云服务厂商 轻量应用服务器 性能评测对比,阿里云、腾讯云、华为云、Ucloud
猜你喜欢
Good partner of single chip microcomputer - CS Genesis SD NAND flash
通过数据加密方案阻止勒索攻击
Minecraft基岩版BDS开服教程
小迪网络安全笔记 信息收集-CDN绕过技术(7)
F5 GTM (I): DNS parameters
Commande awk du troisième épéiste - - interception
[automated testing] - robotframework practice (II) new test cases
What is tsd/qsd? What is CS Genesis SD NAND?
What is data center?
高并发day04(ZAB协议,观察者,nc,AVRO,RPC)
随机推荐
Hermit crab and anemone
Sed command of text three swordsman -- text replacement; Grep command - text filtering
Xiaodi network security - Notes (3)
手动字符串比较(指针题)
Programming learning based on ardunio ide software development
文本三劍客之awk命令--截取
通过数据加密方案阻止勒索攻击
ANAME
Text three swordsman's awk command -- interception
F5 GTM (I): DNS parameters
Arm server building my world (MC) version 1.18.2 private server tutorial
Temperature acquisition experiment and experimental experience based on I2C
Performance test and price comparison of cloud servers of Alibaba cloud, Tencent cloud, Huawei cloud, ucloud and Tianyi cloud
Xiaodi network security - Notes (4)
Minecraft基岩版BDS开服教程
企业数据治理之勒索病毒篇
Redraiment的遭遇
Évaluation des performances de la machine virtuelle Tianyi Cloud Hangzhou (VPS)
Learning about STM assembler design
5G时代服务器在这里面起着什么作用?