首页 > 解决方案 > 将字符串连接到列表

问题描述

我在 Jupyter Notebook 中运行了以下代码:

list_1 = []
list_1 += "cat"
print(list_1)

并得到以下输出:

['c', 'a', 't']

但是当我运行这个时:

list_1 = []
list_1 = list_1 + "cat"
print(list_1)

它给出了以下错误:

TypeError: can only concatenate list (not "str") to list

我无法理解这一点,因为在这两种方法中,都将一个字符串添加到列表中。

是关于“+=”符号还是与导致错误的列表和字符串的串联有关的东西?

标签: pythonpython-3.xlistconcatenation

解决方案


list_1 += "cat"正在调用list_1.__iadd__它在list_1.extend("cat")内部使用并将迭代"cat"中的每个字符一个一个地附加到列表中。

list_1 + "cat"尝试调用list_1.__add__并且您注意到此方法失败,因为它需要两个列表。


推荐阅读