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!
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]
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)]
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!
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]
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)]