'append' 有效,但 'extend' 在这种情况下无效

'append' works but 'extend' fails to work in this case

我试图为列表中的每个元素添加一个值。这是代码:

c = [1,2,3]
d= []
for i in range(len(c)):
    d.append(c[i]+3)
print (d)

代码运行良好。但是如果我把它改成 'extend' 如下:

c = [1,2,3]
d= []
for i in range(len(c)):
    d.extend(c[i]+3)
print (d)

它会抛出类型错误:

TypeError: 'int' object is not iterable

请问这是为什么?

extend() 将列表作为其必需参数。你给它一个整数。试试这个:

c = [1,2,3]
d= []
for i in range(len(c)):
    d.extend([c[i]+3])
print(d)