python - 将字符串连接到列表
问题描述
我在 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__
并且您注意到此方法失败,因为它需要两个列表。
推荐阅读
- hadoop - Sqoop 导入错误:UnsupportedClassVersionError CDH 5.16
- typescript - 打字稿中现有类型的匿名扩展
- google-sheets - 重新组织存在于两列中的数据,以便列是第一列中的项目,如果与第一列中的项目分组,行是第 2 列中的项目
- javascript - 如何创建通用控制器以防止在 Node.JS 中重复 CRUD 函数?
- python - 想输入诸如“01”和“07”之类的整数,但出现“无效文字”错误。整体程序是一个 RLE 压缩器
- azure - 我在哪里可以编辑、API 管理、发布者门户统计页面?
- stm32 - 我在 STM32F407VET 中使用 UART 中断方法时缺少一些字符
- android - 改造从 POST 调用中获取空参数
- java - Spring忽略子模块集成测试中的bean
- mysql - 仅为当年创建的条目从表中提取数据