如何使用range函数在字符串中插入空格?

2024-05-12 09:00:41 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个字符串,例如:“您好,今天你好,乔”,我如何能够定期在其中插入空格?例如,我想用range函数在其中插入空格,步骤如下:range(0,27,2)。所以看起来是这样的:

"He ll o  ho w  ar e  yo u  to da y  Jo e"

它现在在每2个索引处都有一个空格,一直到它的结尾。我怎么做有人知道吗?谢谢。


Tags: to函数字符串结尾步骤rangedaar
3条回答

只是另一种方法

>>> ''.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'

具有不同startsstepsstops的其他示例:

>>> 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'

对于这种特殊情况,最直接的方法是

s = 'Hello how are you today Joe'
s = " ".join(s[i:i+2] for i in range(0, len(s), 2))

这将首先将字符串分成两个字符的块,然后用空格连接这些块。

相关问题 更多 >