2014-02-03 3 views
1

Я попытался преобразовать число в список его цифр, преобразовывая число в связанный список. Он работал нормально для положительных чисел, но он не работает для отрицательных чисел: I пытался сделать это таким образом:Чтобы вернуть список цифр отрицательного числа

def number_to_list(number): 
    head,tail = None,None 
    for x in str(number): 
     if not x.isdigit(): 
      a1 = x 
      continue 
     map(lambda:x,x*a1) 
     node = Node(int(x)) 
     if head: 
      tail.next = node 
     else: 
      head = node 
     tail = node 
    return head 

, когда я вызываю функцию head = number_to_list(-120), а затем listutils.from_linked_list(head) с помощью библиотеки, в которой головка передается в качестве аргумента он должен вернуться [-1, -2,0], но оно возвращение [].

+1

Это не первая цифра '-120'' 1', а не '-1'? – sundance

+3

Зачем ему возвращать -1, -2, 0? – MxyL

+1

Является ли это выравнивание/пробелы тем, что вы на самом деле имеете в своем коде? – doctorlove

ответ

1

С учетом вашего описания проблемы несколько сложно угадать, что вам нужно. Может быть, вы можете подробнее рассказать о контексте, иначе мы в значительной степени угадаем. В любом случае, здесь мы идем:

x = -120 
[-int(d) if x < 0 else int(d) for d in str(abs(x))] 
# [-1, -2, 0] 
Смежные вопросы