类型错误:';int';对象是不可分的;Python 2.7

类型错误:';int';对象是不可分的;Python 2.7,python,python-2.7,Python,Python 2.7,这是我的密码: def numbers_in_lists(string): num = int(string) l = list(num) return l string = '543987' 当我运行它时: print numbers_in_lists(string) 我有以下错误: l = list(num) TypeError: 'int' object is not iterable 我怎样才能解决这个问题 谢谢。num是一个整数,需要一个iterable

这是我的密码:

def numbers_in_lists(string):
    num = int(string)
    l = list(num)
    return l

string = '543987'
当我运行它时:

print numbers_in_lists(string)
我有以下错误:

l = list(num)
TypeError: 'int' object is not iterable
我怎样才能解决这个问题


谢谢。

num
是一个整数,需要一个iterable,因此出现错误。是否要获取表示
num
数字的整数列表?如果是这样,您可以尝试使用:


你想干什么?创建单个数字的列表或包含单个数字的新列表

l = [int(n) for n in string]


这里的代码带有异常处理,以防字符无法转换为int

,就像前面提到的arshajii列表必须有一个iterable对象一样 如果你想用一个不可编辑的对象创建一个列表,这里有一个以整数为元素的列表,你必须这样创建列表

def numbers_in_lists(string):
    num = int(string)
    l = list([num])
    #or 
    l = [num]
    return l

你的函数应该做什么?
'int'对象是不可编辑的
它不能比这更明确。
l = []
l.append(int(string)) 
def numbers_in_lists(string):
    numbers = []
    for char in string:
        try:
            num = int(char)
            numbers.append(num)
        except:
            print 'Could not convert to number'
    return numbers

numString = '543987'
listOfNumbers = numbers_in_list(numString)
def numbers_in_lists(string):
    num = int(string)
    l = list([num])
    #or 
    l = [num]
    return l