假设我有一串用逗号分隔的数字,并且我想找出下一个与之匹配的数字,所以我使用这种逻辑,将字符串覆盖在list
中。
import json
s = '1,5,8,11,22,25'
def get_next(number):
clean_s = f'[{s}]'
number_list = json.loads(clean_s)
input_number_index = number_list.index(number)
return number_list[input_number_index + 1] # return next number
print(get_next(5)) # will print 8
print(get_next(11)) # will print 22
print(get_next(22)) # will print 25
print(get_next(1)) # will print 5
如何使用python regular expression解决此问题?
答案 0 :(得分:1)
这应该有所帮助。
例如:
import re
def get_next(number):
m = re.search(r"(?<={},)(\d+),?".format(number), '1,5,8,11,22,25')
if m:
return m.group(1)
return "N\A"
print(get_next(5)) # will print 8
print(get_next(11)) # will print 22
print(get_next(22)) # will print 25
print(get_next(1)) # will print 5
print(get_next(25)) # will print N\A