本文共 503 字,大约阅读时间需要 1 分钟。
运行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
可见:
相同类型的序列可以相加,尽管序列中元素的数据类型是不同的;
不同类型的序列不可以相加;
转载地址:http://wycmx.baihongyu.com/