如果我有一个字符串,例如,上面写着:'Hello how are you today Joe' 我如何能够定期在其中插入空格?因此,例如,我想在这些步骤中使用范围函数将空格插入其中:范围(0,27,2)。所以它看起来像这样:
"He ll o ho w ar e yo u to da y Jo e"
它现在在每个第二个索引处都有一个空格,直到它结束。我该怎么做有人知道吗?谢谢。
如果我有一个字符串,例如,上面写着:'Hello how are you today Joe' 我如何能够定期在其中插入空格?因此,例如,我想在这些步骤中使用范围函数将空格插入其中:范围(0,27,2)。所以它看起来像这样:
"He ll o ho w ar e yo u to da y Jo e"
它现在在每个第二个索引处都有一个空格,直到它结束。我该怎么做有人知道吗?谢谢。
对于这种特殊情况,最直接的方法是
s = 'Hello how are you today Joe'
s = " ".join(s[i:i+2] for i in range(0, len(s), 2))
这首先将字符串分成两个字符的块,然后用空格连接这些块。
只是另一种方法
>>> ''.join(e if (i+1)%2 else e+" " for (i,e) in enumerate(list(s)))
'He ll o ho w ar e yo u to da y Jo e'
这无所不能!
>>> def insert_spaces(text, s_range):
return ' '.join(text[start:end] for start, end in
zip([0] + s_range, s_range + [len(text)])).strip()
问题示例:
>>> insert_spaces('Hello how are you today Joe', range(0, 27, 2))
'He ll o ho w ar e yo u to da y Jo e'
其他具有不同starts
,steps
和的示例stops
:
>>> insert_spaces('Hello how are you today Joe', range(5, 20, 4))
'Hello how are you today Joe'
>>> insert_spaces('Hello how are you today Joe', range(0, 27))
'H e l l o h o w a r e y o u t o d a y J o e'
>>> insert_spaces('abcdefghijklmnopqrstuvwxyz', range(0, 16, 5))
'abcde fghij klmno pqrstuvwxyz'