Преобразуйте число в список целых чисел

Если кто-то действительно против программирования на более языках, чем один, я предлагаю GWT, теоретически вы можете избежать всех элементов JS и HTML, потому что Google Toolkit преобразует весь клиентский и общий код в JS, у вас не будет проблем с их, поэтому у вас есть веб-сервис без кодирования на любых других языках. Даже вы можете использовать какой-то CSS по умолчанию, поскольку он предоставляется расширениями (smartGWT или Vaadin). Вам не нужно изучать десятки аннотаций.

Конечно, если вы хотите, вы можете взломать себя в глубину кода и ввести JS и обогатить вашу HTML-страницу, но на самом деле вы можете избежать этого, если хотите, и результат будет хорошим, поскольку был написан в любых других рамках. Я говорю, что стоит попробовать, а базовый GWT хорошо документирован.

И, конечно, многие программисты здесь описывают или рекомендуют несколько других решений. GWT предназначен для людей, которые действительно не хотят иметь дело с веб-частью или минимизировать ее.

25
задан Paolo Bergantino 23 April 2009 в 13:37
поделиться

9 ответов

a = 123456
b = str(a)
c = []

for digit in b:
    c.append (int(digit))

print c
16
ответ дан RedBlueThing 15 October 2019 в 14:45
поделиться

Вы можете сделать это:

>>> num = 123
>>> lst = map(int, str(num))
>>> lst, type(lst)
([1, 2, 3], <type 'list'>)
14
ответ дан John Fouhy 15 October 2019 в 14:45
поделиться
>>> from collections import deque
>>> def magic(num):
        digits = deque()
        while True:
            num,r = divmod(num,10)
            digits.appendleft(r)
            if num == 0:
                break
        return list(digits)

>>> magic(123)
[1, 2, 3]

Согласно моим временам, это решение значительно быстрее, чем метод струн (magic2), даже для небольших примеров.

>>> def magic2(num):
        return [int(i) for i in str(num)]

Сроки:

magic

>>> timeit.timeit(setup='from __main__ import magic', stmt='magic(123)')
1.3874572762508706
>>> timeit.timeit(setup='from __main__ import magic', stmt='magic(999999999)')
3.2624468999981673

magic2

>>> timeit.timeit(setup='from __main__ import magic2', stmt='magic2(123)')
3.693756106896217    
>>> timeit.timeit(setup='from __main__ import magic2', stmt='magic2(999999999)')
10.485281719412114
6
ответ дан Martijn Pieters 15 October 2019 в 14:45
поделиться
num = map(int, list(str(num)))
2
ответ дан wilbeibi 15 October 2019 в 14:45
поделиться

Просто используйте:

a= str (num)
lst = list(a)
0
ответ дан jamylak 15 October 2019 в 14:45
поделиться

для Python 3.x:

num = 1234
lst = list(map(int, str(num)))
0
ответ дан Marko Tankosic 15 October 2019 в 14:45
поделиться

Вы это имеете в виду?

num = 1234
lst = [int(i) for i in str(num)]
73
ответ дан 28 November 2019 в 17:36
поделиться
magic = lambda num: map(int, str(num))

then just do

magic(12345) 

or

magic(someInt) #or whatever
9
ответ дан 28 November 2019 в 17:36
поделиться

Don't use the word list as variable name! It is a name of python built in data type.

Also, please clarify your question. If you are looking for a way to create a one-member list, do the following:

a = 123
my_list = [a]

and "pythonizing" Cannonade's answer:

a = 123
my_list = [int(d) for d in str(a)]
5
ответ дан 28 November 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: