python列表连接(operand+)
今天自己写python程序时出现了列表连接(operand +)报错,类似于这样:
- 示例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类型值 进行连接。