类型错误:';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