Mon entrée entière est supposer 12345
, je veux la scinder et la mettre dans un tableau comme 1, 2, 3, 4, 5
.
Comment serai-je en mesure de le faire ?
Réponses
Trop de publicités?
YOU
Points
44812
nd.
Points
4738
[int(i) for i in str(number)]
ou, si vous ne souhaitez pas utiliser une compréhension de liste ou si vous souhaitez utiliser une base différente de 10
from __future__ import division # for compatibility of // between Python 2 and 3
def digits(number, base=10):
assert number >= 0
if number == 0:
return [0]
l = []
while number > 0:
l.append(number % base)
number = number // base
return l
fabrizioM
Points
11498
comme le dit @nd mais en utilisant la fonction intégrée de int pour convertir vers une base différente
>>> [ int(i,16) for i in '0123456789ABCDEF' ]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
>>> [int(i,2) for i in "100 010 110 111".split()]
[4, 2, 6, 7]
Je ne sais pas quel est l'objectif final mais jetez un œil aussi à l'intérieur du module décimal de python pour faire des choses comme
>>> Decimal('3.1415926535') + Decimal('2.7182818285')
Decimal('5.85987')