I would like to know how to slice my Python string every nth character/letter (in my case the 5th character/letter).
So I have this string "ilikestackoverflow"
and I would like for the output to be "ilike stack overf low"
.
I would like to know how to slice my Python string every nth character/letter (in my case the 5th character/letter).
So I have this string "ilikestackoverflow"
and I would like for the output to be "ilike stack overf low"
.
x = zip(*[iter(my_array)]*5)
is a cool but hard to read way of doing it
typically it is done with a list comprehension though
n = 5
x = [my_array[i:i+n] for i in range(0,len(my_array),n)]
this post explains the iter
answer best http://www.stavros.io/posts/brilliant-or-insane-code/
What about a good-ol' regular expression?
>>> string = "Ireallylovemyregularexpressions!"
>>> print re.sub(r'(.{5})', r'\1 ', string)
Ireal lylov emyre gular expre ssion s!
(.{5})
matches every 5 characters, r'\1 '
replaces these 5 characters by the same 5 characters plus a white-space character.
This also works:
>>> 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