将字符串连接到列表[重复]

Posted

技术标签:

【中文标题】将字符串连接到列表[重复]【英文标题】:Concatenation of a string to a list [duplicate] 【发布时间】:2019-01-05 18:49:52 【问题描述】:

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

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

是因为 '+=' 符号还是与列表和字符串的串联相关的问题导致了该错误?

【问题讨论】:

有一个excellent answer on the difference between + and +=。除此之外,请注意 Python 尝试将“cat”解释为一个列表,默认为单个字符的列表。 我确实检查了那个答案。我感兴趣的问题是将字符串连接到列表,但该答案仅解决了+= 符号如何影响两个列表的连接。当您清除 Python 将“猫”视为字符列表时,我能够完全理解这个问题。谢谢 【参考方案1】:

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

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

【讨论】:

以上是关于将字符串连接到列表[重复]的主要内容,如果未能解决你的问题,请参考以下文章

播放 wav 文件,将字符串连接到调用文件

Spark - 将每个分区的字符串连接到单个字符串

如何使用连接字符串连接到 odbc

C#中如何设置字符串连接到MySQL数据库?

将字符串连接到 SELECT * MySql

将字符串连接到 pig 中的字段