python - 使用增强赋值将字符串添加到列表

标签 python string list augmented-assignment

>>> b = []
>>> c = '1234'
>>> b += c
>>> b
['1', '2', '3', '4']
>>> 

这里发生了什么?这应该行不通,对吧?还是我遗漏了一些明显的东西?

>>> b = []
>>> c = '1234'
>>> b + c
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    b + c
TypeError: can only concatenate list (not "str") to list
>>> 

那么 a += b 并不总是等同于 a = a + b 吗?

最佳答案

字符串是可迭代的:元素是字符串的字符。当您将可迭代对象添加到列表时,该可迭代对象的元素会附加到列表中。

以下任一项都可以满足您的预期(即附加字符串,而不是使用字符串的字符扩展列表):

b += [c]

b.append(c)

关于python - 使用增强赋值将字符串添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322792/

相关文章:

python - 在 centos 中安装 python 库的问题

Java正则表达式在任何字符串中查找字符

java - 需要JAVA ME的字符串库

PHP 如何根据字符串内容将字符串列表(数组)转换为嵌套数组

jquery - 如何使用 jquery 选择具有类属性的列表元素内的链接内的图像?

python - 迭代最后一个元素作为下一次迭代中的第一个重复

python - 为什么三个 R、G 和 B 圆不能正确混合?

python - 集合理解不适用于 Pydev (Python)

python - 检查列表是否与元组完全相同

python - 在 Hadoop Streaming 中创建一个单独的函数来读取文件的问题