Python 无序类型:int()>;列表()
执行此代码后:Python 无序类型:int()>;列表(),python,Python,执行此代码后: def arrayChange(inputArray): inputArray.append([10**6]) sum = 0 for i in range(len(inputArray)): while inputArray[i] > inputArray[i+1]: inputArray[i+1] += 1 sum += 1 return sum 我得到这个错误: Tr
def arrayChange(inputArray):
inputArray.append([10**6])
sum = 0
for i in range(len(inputArray)):
while inputArray[i] > inputArray[i+1]:
inputArray[i+1] += 1
sum += 1
return sum
我得到这个错误:
Traceback (most recent call last):
file.py3 on line ?, in getUserOutputs
userOutput = _runickrl(testInputs[i])
file.py3 on line ?, in _runickrl
return arrayChange(*_fArgs_sxkojsugpnwr)
file.py3 on line 6, in arrayChange
while inputArray[i] > inputArray[i+1]:
TypeError: unorderable types: int() > list()
有人知道为什么会这样吗?我尝试了我所发现的一切。当你执行
inputArray.append([10**6])
你实际上是在inputArray
列表中添加一个列表
假设inputArray
的每个元素都是整数,但是当使用i=0inputArray[i]>inputArray[i+1]
时,第一个元素是一个列表,下一个元素是整数,因此会出现错误“unorderable types:int()>list()”
如果您想只附加一个元素,那么需要做的是inputArray.append(10**6)
如果您希望一次附加多个项,那么您需要的是extend:inputArray.extend([1,2,3])
您能解释一下这个函数想要实现什么吗<代码>追加([10**6])
将列表追加到列表。这就是为什么会出现错误无序类型:int()>list()
。请按:type(变量名)检查比较类型。要将10个元素插入列表,可以执行a=[0]*10。。