用空格替换字符串的每一秒逗号的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:])]