たとえば、43365644などの数字を1つの数字にしたい[4,3,3 ....、4,4]
リストに追加します
これは、次の場合に非常に簡単に実行できます。
str
を使用して、数値を文字列に変換し、繰り返し処理できるようにします。
list comprehension を使用して、文字列を個々の数字に分割します。
int
を使用して、数字を整数に戻します。
以下はデモンストレーションです。
>>> n = 43365644
>>> [int(d) for d in str(n)]
[4, 3, 3, 6, 5, 6, 4, 4]
>>>
最初に文字列に変換せずにそれを行う方法は次のとおりです(初歩的なベンチマークに基づいて、これは最初にn
を文字列化するよりも約2倍高速です):
>>> n = 43365644
>>> [(n//(10**i))%10 for i in range(math.ceil(math.log(n, 10))-1, -1, -1)]
[4, 3, 3, 6, 5, 6, 4, 4]
最も簡単な方法は、intを文字列に変換し、文字列の各文字をリストの要素として使用することです。
>>> n = 43365644
>>> digits = [int(x) for x in str(n)]
>>> digits
[4, 3, 3, 6, 5, 6, 4, 4]
>>> lst.extend(digits) # use the extends method if you want to add the list to another
それはいくつかのキャスト操作を伴いますが、極端なパフォーマンスを必要としない場合は読みやすく受け入れられます。
番号をそれらの番号のリストに変更する場合は、最初にstring
にキャストします。次にリストにキャストすると、各文字で自然に壊れます。
[int(x) for x in str(n)]