我想知道如何在每个第n个字符/字母(在我的例子中是第5个字符/字母)中切割我的Python字符串。
所以我有这个字符串"ilikestackoverflow"
,我希望输出为"ilike stack overf low"
。
答案 0 :(得分:4)
x = zip(*[iter(my_array)]*5)
是一种很酷但难以阅读的方式
通常使用列表理解来完成
n = 5
x = [my_array[i:i+n] for i in range(0,len(my_array),n)]
这篇文章解释了iter
最佳答案http://www.stavros.io/posts/brilliant-or-insane-code/
答案 1 :(得分:1)
一个好的'正则表达式怎么样?
>>> string = "Ireallylovemyregularexpressions!"
>>> print re.sub(r'(.{5})', r'\1 ', string)
Ireal lylov emyre gular expre ssion s!
(.{5})
匹配每5个字符,r'\1 '
将这5个字符替换为相同的5个字符加上空白字符。
这也有效:
>>> m = re.split(r'(.{5})', 'Ilovestackoverflowsobad')
>>> print m
['', 'Ilove', '', 'stack', '', 'overf', '', 'lowso', 'bad']
>>> for word in m:
... if word == '':
... pass
... else:
... print word,
...
Ilove stack overf lowso bad