Iterate string of numbers with double number

Question:

I have number 746342 and i’m trying to get the list like this: [700000, 40000, 6000, 300, 40, 2].
But when i’m trying to make the following:

def expanded_form(num):
    row = str(num).strip()
    row_2 = ([int(i) * 10**(len(row)-row.index(i)-1) for i in row])
    print(row_2)

expanded_form(746342)

i’m getting [700000, 40000, 6000, 300, 40000, 2].

How to iterate second "4" separately, without giving it the value of the first "4"?

Thanks!

Asked By: Sergey

||

Answers:

Code:-

number=746342
res=[]
power=0
while number!=0:
    remainder=(number%10)*pow(10,power)
    number=number//10
    res.append(remainder)
    power+=1
print(res[::-1])

Output:-

[700000, 40000, 6000, 300, 40, 2]
Answered By: Yash Mehta

enumerate turns an iterable into an iterator of (index, value) tuples. It both works on duplicates and is faster than index!

[int(d) * 10**(len(row)-i-1) for i, d in enumerate(row)]
Answered By: Ry-
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.