我该如何编写一个函数,该函数接受一个字符串并返回相同的字符串,且每对奇数均用破折号分隔。
假定字符串中的所有字符都是数字。
即“ 456793”->“ 4567-9-3”
答案 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