用空格替换字符串的每一秒逗号的Pythonic方法

用空格替换字符串的每一秒逗号的Pythonic方法,python,Python,我有一个字符串,看起来像这样: coords = "86.2646484375,23.039297747769726,87.34130859375,22.59372606392931,88.13232421875,24.066528197726857" 我想要的是将其转换为以下格式: coords = "86.2646484375,23.039297747769726 87.34130859375,22.59372606392931 88.13232421875,24.066528197726

我有一个字符串,看起来像这样:

coords = "86.2646484375,23.039297747769726,87.34130859375,22.59372606392931,88.13232421875,24.066528197726857"
我想要的是将其转换为以下格式:

coords = "86.2646484375,23.039297747769726 87.34130859375,22.59372606392931 88.13232421875,24.066528197726857"
因此,在每一秒中,用一个空格替换逗号。有没有一个简单的,蟒蛇式的方法来做到这一点

现在我正在尝试使用split函数创建一个列表,然后循环遍历该列表。但这似乎并不简单。

这类作品:

>>> s = coords.split(',')
>>> s
['86.2646484375', '23.039297747769726', '87.34130859375', '22.59372606392931', '88.13232421875', '24.066528197726857']
>>> [','.join(i) for i in zip(s[::2], s[1::2])]
['86.2646484375,23.039297747769726', '87.34130859375,22.59372606392931', '88.13232421875,24.066528197726857']

首先,让我们导入正则表达式模块并定义
coords
变量:

>>> import re
>>> coords = "86.2646484375,23.039297747769726,87.34130859375,22.59372606392931,88.13232421875,24.066528197726857"
现在,让我们用空格替换每一秒的逗号:

>>> re.sub('(,[^,]*),', r'\1 ', coords)
'86.2646484375,23.039297747769726 87.34130859375,22.59372606392931 88.13232421875,24.066528197726857'

正则表达式
(,[^,]*),
查找逗号对。替换文本,
r'\1'
保留第一个逗号,但将第二个逗号替换为一个空格。

python方法是拆分字符串,然后使用交替分隔符再次连接它:

from itertools import chain, cycle, izip
coords = ''.join(chain.from_iterable(izip(coords.split(','), cycle(', '))))

列表(可能是zip(c.split(“,”),c.split(“,”[1:])[::2]
?看起来有点难看。或者
[i+','+j代表i,j在zip中(out,out[1:])]