【Python】TypeError: can only concatenate list (not "int") to list

  1. 云栖社区>
  2. 博客>
  3. 正文

【Python】TypeError: can only concatenate list (not "int") to list

awesome@qa 2018-01-30 18:38:26 浏览7803
展开阅读全文

运行Python,报TypeError: can only concatenate list (not "int") to list

# 快排
def qsort(seq):
if seq == []:
return []
else:
pivot = seq[0]
lesser = qsort([x for x in seq[1:] if x < pivot])
greater = qsort([x for x in seq[1:] if x > pivot])

return lesser + pivot + greater


if __name__ == '__main__':
seq = [5, 6, 78, 9, 0, -1, 2, 3, -65, 12]

print(qsort(seq))


出现这样的错误是因为试图将一个列表与一个非列表类型的值连接,这是不允许的。列表连接两边必须都为列表(list): 
可以改为如下:

return lesser + [pivot] + greater


可见:

相同类型的序列可以相加,尽管序列中元素的数据类型是不同的;

不同类型的序列不可以相加;

网友评论

登录后评论
0/500
评论
awesome@qa
+ 关注