使用python查找整数字符串中的奇数对

时间:2018-07-24 07:28:56

标签: python string

我该如何编写一个函数,该函数接受一个字符串并返回相同的字符串,且每对奇数均用破折号分隔。

假定字符串中的所有字符都是数字。

即“ 456793”->“ 4567-9-3”

2 个答案:

答案 0 :(得分:3)

import re
re.sub(r'(?<=[13579])(?=[13579])', '-', "456793")
# => '4567-9-3'

“找到所有奇数位之前和之后的奇数位,并插入破折号。”

答案 1 :(得分:1)

from itertools import zip_longest
s = "456793"
print(''.join([a + ('-' if b and int(a) * int(b) % 2 else '') for a, b in zip_longest(s, s[1:])]))

这将输出:

4567-9-3