python列表连接(operand+)


今天自己写python程序时出现了列表连接(operand +)报错,类似于这样:

  1. 示例1:can only concatenate list (not “float”) to list
a = [1,2,3,4,5,43]
b =[1.2,3.4,5,6.1,4,2,3,9.00,66,1.222,3.45]
c = a + b[3] 
TypeError: can only concatenate list (not "float") to list

出现这样的错误是因为你试图将一个列表与一个非列表类型的值(无论是什么类型:换成一个单个字符串也会有同样的错误)连接,这是不允许的。列表连接两边必须都为列表(list)
可以改为如下:

c = a + [b[3]] 

此时列表连接的第二项已变为一个:仅包含一项的列表。


2 示例2: ‘int’ object is not iterable

a = [1,2,3,4,5,43]
b = [1.2,3.4,5,6.1,4]

a.extend(b[0])

选中这几行代码,使用快捷键(Shift+Alt+E)执行。 错误如下所示:

Traceback (most recent call last):
  File "<input>", line 4, in <module>
TypeError:'float' object is not iterable

或者代码这样写

c= b[0]+b[2:]

错误如下所示:

TypeError: unsupported operand type(s) for +: 'float' and 'list'

出现这样的错误,是因为如b[0]这样的数据值,只表示为一个值,而不是列表,因此该错误提示:不支持将一个list类型和一个float类型值 进行连接。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐