【问题标题】:How to split an integer and return it as a List [duplicate]如何拆分整数并将其作为列表返回[重复]
【发布时间】:2018-10-31 10:40:12
【问题描述】:

我正在学习 python,我想知道如何将输入 n = 123 转换为列表 [1,2,3]

这是我的代码,但我遇到了错误:

def digitize(n):
  return n.split()

我的错误:

AttributeError: 'int' object has no attribute 'split'

编辑:此问题重复

【问题讨论】:

  • print([int(i) for i in str(n)]) ?
  • 你是如何传递你的输入的?你在用input()吗?

标签: python python-3.x


【解决方案1】:

你可以这样做:

n = 1234
mylist = [int(x) for x in str(n)]

【讨论】:

    【解决方案2】:

    你可以这样做:

    def digitize(n):
        return [int(d) for d in str(n)]
    
    
    print(digitize(123))
    

    输出

    [1, 2, 3]
    

    首先使用str 将其转换为字符串,然后遍历字符串的字符(数字)并将每个字符转换回整数。作为替代方案,您也可以使用map,例如:

    return [e for e in map(int, str(n))]
    

    或者正如@Ev.Kounis 所指出的,您可以简单地这样做:

    return list(map(int, str(n)))
    

    【讨论】:

    • 谢谢,这很好用
    • return [e for e in map(int, str(n))] 太冗长了。 return list(map(int, str(n))) 也可以。
    【解决方案3】:

    在python中 split 是一种字符串方法,而不是整数。

    先把整数转成字符串,再转成list个字符:

    list(str(123)) # ['1', '2', '3']
    

    然后您可以再次将每个元素映射到 int:

    list(map(int,list(str(123))))  # [1, 2, 3]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 2023-02-11
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 2022-07-30
      相关资源
      最近更新 更多