如何利用python提取字符串中的数字

如何利用python提取字符串中的数字

2023年6月29日发(作者:)

如何利⽤python提取字符串中的数字⽬录⼀、isdigit()函数⼆、filter() 函数三、提取⼀段字符串中的数字四、匹配指定字符串开头的数字五、匹配时间,17:35:24六、匹配时间,20181011 15:28:39总结⼀、isdigit()函数isdigit()函数是检测输⼊字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。dream = "123456"print(t())# 返回:Truedream = "123abc456"print(t())# 返回:Falsedream = 'abcd'print(t())# 返回:False⼆、filter() 函数说明:filter() 函数⽤于过滤序列,过滤掉不符合条件的元素,返回⼀个迭代器对象;如果要转换为列表,可以使⽤ list() 来转换。该接收两个参数,第⼀个为函数,第⼆个为序列,序列的每个元素作为参数传递给函数进⾏判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。语法:filter(function, iterable)1、过滤出列表中的所有奇数:def is_odd(n): return n % 2 == 1

tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])newlist = list(tmplist)print(newlist)2、过滤出列表中的所有偶数:l = [x for x in range(10)]print(list(filter(lambda x : x%2 == 0, l)))3、过滤出1~100中平⽅根是整数的数:import mathdef is_sqr(x): return (x) % 1 == 0

tmplist = filter(is_sqr, range(1, 101))newlist = list(tmplist)print(newlist)4、删除1-100中素数L = range(1, 101)def isprimer(n): flag = 1 for i in range(2, n): if n % i == 0: flag = 0 if flag == 0: return nprint(list(filter(isprimer, L)))5、去除空格和空值def not_empty(s): return s and ()filter(not_empty, ['A', '', 'B', None, 'C', ' '])6、⾼阶运⽤def _odd_iter(): n = 1 while True: n = n + 2 yield n

def _not_divisible(n):

return lambda x : x%n>0

def primes(): yield 2 it = _odd_iter() ftr = filter(_not_divisible(2), it) #1 while True: n = next(ftr ) #2 yield n

ftr = filter(_not_divisible(n), ftr ) #3

for n in primes(): if n < 100: print('now:',n) else: break三、提取⼀段字符串中的数字列表转字符串number = ['12', '333', '4']number_ = "".join(number) # 列表转字符串print(number_) # 123334a = "".join(list(filter(t, '123ab45')))print(a)# 返回12345b = list(filter(t, '123ab45'))print(b)# 返回['1', '2', '3', '4', '5']time_ = "2019年09⽉04⽇ 11:00"time_filter = filter(t, time_)print(time_filter) # print(type(time_filter)) # time_list = list(time_filter) # ['2', '0', '1', '9', '0', '9', '0', '4', '1', '1', '0', '0']time_str = "".join(time_list) # 转为str 2time_int = int(time_str) # 转为int 2利⽤正则表达式import restr_ = "12今天333天⽓4不错"number = l("d+",str_) # 输出结果为列表print(number) # 输出结果:['12', '333', '4']四、匹配指定字符串开头的数字例如下⾯的string:tensorflow:Final best valid 0 loss=0.20657 norm_loss=0.767241849151384roc=0.82624 pr=0.39415 calibration=0.9863265752792358 rate=0.0提取 calibration=0.9863265752792358 .# 匹配“calibration=”后⾯的数字pattern = e(r'(?<=calibration=)d+.?d*')l(string)# ['0.9863265752792358']五、匹配时间,17:35:24string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"pattern = e(r'd{2}:d{2}:d{2}')l(string)# ['15:28:39']六、匹配时间,20181011 15:28:39string = "WARNING:tensorflow: 20181011 15:28:39 Initialize training"pattern = e(r'd{4}d{2}d{2}sd{2}:d{2}:d{2}')l(string)# ['20181011 15:28:39']总结到此这篇关于如何利⽤python提取字符串中的数字的⽂章就介绍到这了,更多相关python提取字符串中数字内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687977107a62819.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信