【问题标题】:Convert an int(number) to a list ,the int number could be negative in python将 int(number) 转换为列表,int 数在 python 中可能为负数
【发布时间】:2021-03-02 21:50:52
【问题描述】:

我只是想知道是否有一种简单的方法可以将 int(负数)转换为列表

例子

a = -2021

结果:[-2,0,2,1]

def numberToList(n):

# base case
if n == 0:
    return []

# recurse
return numberToList(n // 10) + [ n % 10 ]

定义数字输入(n):

if n < 0:
    n = numberToList(abs(n))
    n[0] = n[0] * -1
    return n
else:
    return numberToList(n)

【问题讨论】:

  • 欢迎来到 Stack Overflow。要了解有关此社区的更多信息以及我们如何为您提供帮助,请从 tour 开始并阅读 How to Ask
  • 只需转换成正数等价于 int 并将输出乘以 -1
  • 为了扩展上面的评论,就目前而言,这个问题没有提出解决方案,只是要求一个答案。如果您可以展示您尝试过的方法并帮助我们了解哪些情况会特别让您感到困惑,我们将很乐意提供帮助。
  • 提示:r"(-?\d)"
  • list(map(int, re.findall(r"(-?\d)", s)))

标签: python list


【解决方案1】:

只需使用这样的函数:

from typing import List

def num_list(num: int) -> List[int]:
    if num == 0:
        return []
    ns = [int(i) for i in str(num).lstrip('-')]
    if num < 0:
        ns[0] *= -1
    return ns

【讨论】:

  • "int number could 在 python 中为负数" - 如果数字不是负数,您的代码将无法工作
猜你喜欢
  • 2013-08-25
  • 1970-01-01
  • 1970-01-01
  • 2013-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多