[Tutor] changing char list to int list isn't working
eryksun
eryksun at gmail.com
Sat May 4 07:03:38 CEST 2013
On Sat, May 4, 2013 at 12:13 AM, Jim Mooney <cybervigilante at gmail.com> wrote:
> I'm turning an integer into a string so I can make a list of separate
> chars, then turn those chars back into individual ints, but the
> resulting list still looks like string chars when I print it. What am
> I doing wrong?
>
> listOfNumChars = list(str(intNum))
> for num in listOfNumChars:
> num = int(num)
>
> print(listOfNumChars)
>
> # result of 455 entered is ['4', '5', '5']
The body of your for loop only rebinds the loop variable. It's not
appending to a new list or modifying listOfNumChars. As to the latter
list, it's redundant since a string is iterable.
The following snippet creates the list [4, 5, 5]:
num = 455
numlist = []
for c in str(num):
numlist.append(int(c))
or using a list comprehension:
numlist = [int(c) for c in str(num)]
or using map:
numlist = list(map(int, str(num)))
iterators
http://docs.python.org/3/library/stdtypes.html#typeiter
built-in functions
http://docs.python.org/3/library/functions.html#iter
http://docs.python.org/3/library/functions.html#map
for statement
http://docs.python.org/3/reference/compound_stmts.html#the-for-statement
comprehensions
http://docs.python.org/3/reference/expressions.html#displays-for-lists-sets-and-dictionaries
More information about the Tutor
mailing list