python - 将字符串连接到列表

标签 python python-3.x list concatenation

<分区>

我在 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

我没能理解这两种方法,一个字符串被添加到列表中。

导致该错误的是与“+=”表示法有关还是与列表和字符串的连接有关?

最佳答案

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

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

关于python - 将字符串连接到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51578389/

相关文章:

python - 如何使用 itertools 最小化大长度列表的迭代时间?

python - 如何在 Python 中将列表项分组为顺序元组?

java - Java中如何从路径中获取目录名称?

python - Selenium 无法定位按钮

javascript - 如何使用 Beautiful Soup 访问此项目

python - 如何根据选择变量中的值将 PloneFormGen 重定向到页面?

python - 有没有办法在 python 中为带有类型提示的函数参数指定一系列有效值?

python-3.x - 错误 : symeig_cpu: the algorithm failed to converge: 6 off-diagonal elements of an intermediate tridiagonal form did not converge to zero

python - Python 3.8 日期时间与 DST 转换是否存在错误?

python-3.x - 在 "compile"时间内捕获 Python 中的导入错误和名称错误