12

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

所以应该是这样的。

thisisarandomsentence

我希望它返回为:

this isar ando msen tenc e

我拥有的功能是:

def encrypt(string, length):

无论如何在python上做这个?

4

4 回答 4

22
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'
于 2012-04-09T07:54:33.070 回答
2

使用itertools石斑鱼食谱

>>> 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'
于 2012-04-09T08:06:33.360 回答
2
import re
(' ').join(re.findall('.{1,4}','thisisarandomsentence'))

'这个 isar ando msen tenc e'

于 2020-07-22T03:27:05.520 回答
0
import textwrap
def encrypt(string, length):
      a=textwrap.wrap(string,length)
      return a
于 2020-01-28T18:50:52.807 回答