如何使用python在字符串中的一定数量的字符后插入空格?

时间:2012-04-09 07:51:56

标签: python string

我需要在字符串中的一定数量的字符后插入一个空格。文本是一个没有空格的句子,需要在每n个字符后用空格分割。

所以它应该是这样的。

thisisarandomsentence

我希望它返回:

this isar ando msen tenc e

我的功能是:

def encrypt(string, length):

无论如何都要在python上执行此操作?

4 个答案:

答案 0 :(得分:15)

def encrypt(string, length):
    return ' '.join(string[i:i+length] for i in range(0,len(string),length))

encrypt('thisisarandomsentence',4)给出了

'this isar ando msen tenc e'

答案 1 :(得分:2)

使用itertools grouper recipe

>>> from itertools import izip_longest
>>> def grouper(n, iterable, fillvalue=None):
        "Collect data into fixed-length chunks or blocks"
        # grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx
        args = [iter(iterable)] * n
        return izip_longest(fillvalue=fillvalue, *args)

>>> text = 'thisisarandomsentence'
>>> block = 4
>>> ' '.join(''.join(g) for g in grouper(block, text, ''))
'this isar ando msen tenc e'

答案 2 :(得分:1)

Thread.sleep

'这是伊萨尔安达·迈森·滕克'

答案 3 :(得分:0)

import textwrap
def encrypt(string, length):
      a=textwrap.wrap(string,length)
      return a