列表和Int的Python类型错误?
我想读一个数字列表,并对它们进行功能排序,下面是代码:列表和Int的Python类型错误?,python,Python,我想读一个数字列表,并对它们进行功能排序,下面是代码: user_input=[int(i)for i in input().split(“”)] 对于用户_输入中的i: 如果i==用户输入[0]:列表2=[[i]] 对于清单2中的j: 如果用户输入[i]-j[-1]==1: j、 追加(用户输入[i]) 其他: 列表2.追加(用户输入[i]) 打印(列表2) ############################################# >>> 8 7 1 9 2 6 3 5 4
user_input=[int(i)for i in input().split(“”)]
对于用户_输入中的i:
如果i==用户输入[0]:列表2=[[i]]
对于清单2中的j:
如果用户输入[i]-j[-1]==1:
j、 追加(用户输入[i])
其他:
列表2.追加(用户输入[i])
打印(列表2)
#############################################
>>> 8 7 1 9 2 6 3 5 4
回溯(最近一次呼叫最后一次):
文件“test.py”,第6行,在
如果用户输入[i]-j[-1]==1:
TypeError:“int”对象不可下标
我用谷歌搜索了这个问题,知道这个问题是在用下标调用int对象时发生的,但是当我运行
print(type(user\u input),键入(j))
时,结果都是list
。我想知道为什么会出错。有人能给我解释一下吗:)在遍历列表时修改列表2是个坏主意。
您的列表2以列表的列表开始,然后开始向其中插入int,这会导致问题…在遍历列表2时修改列表2是个坏主意。
您的列表2从列表列表开始,然后您开始向其中插入int,这导致了问题…问题是,当您稍后执行
list2.append(user\u input[i])
时,您是在追加int而不是列表。问题是,当您稍后执行list2.append(user\u input[i])
时,你在添加int而不是listThank。我会想其他办法的,谢谢你。我会想其他办法的。