AndyyRi - 1 month ago 5
Python Question

# Python - Split user input integer into list, where each entry is 2 digits

So I'm trying to split an arbitrarily long user input integer into a list where each entry is 2 digits, and if the number has an odd amount of integers put the only single digit as the first digit. (Where I will then proceed to put a zero in front of it)

I know that putting user integer input into a list looks like:

``````userintegerlist = [int(i) for i in str(user_input)]
print userintegerlist
``````

And my input (say it's
`45346`
) will look like
`[4,5,3,4,6]`
. But I want it to look like:
`[4,53,46]`
. Or if input is
`68482238`
, it will be:
`[68,48,22,38]`
.

Is this possible? All the code is in Python by the way.

You can do it with string methods fairly easily, as other answers have already shown. I direct you to the related grouper recipe in itertools.

I want to mention that it may be more efficient to do it with maths:

``````>>> n = 45346
>>> output = []
>>> while n:
...     output.append(n % 100)
...     n //= 100
...
>>> output = output[::-1]
>>> print output
[4, 53, 46]
``````