我在Python中错误地输入了一个命令:
completed_list = []
completed_list += 'bob'
返回:
['b', 'o', 'b']
我不太清楚为什么会发生这种情况。
此外,在这种情况下
+=
和append
有什么区别吗?我的意思是在 completed_list.append('bob')
和 completed_list += ['bob']
之间。
原因已记录,参见这里
+=
的行为类似于列表中的 .extend()
,它将列表的内容附加到列表中。因此,如果您 += string
那么它会采用类似列表的字符串并附加每个字符,但在其他情况下它会添加列表的内容,这就是我指的字符串 bob
本身
>>> a = list('dog')
>>> a += 'food'
>>> a
['d', 'o', 'g', 'f', 'o', 'o', 'd']
>>> a = list('dog')
>>> a += ['food']
>>> a
['d', 'o', 'g', 'food']
+= ['food']
将整个字符串 'food' 视为单个列表作为要添加到列表中的单个元素
+= 'food'
将字符串“food”视为字符列表,将作为元素一一添加到列表中
这里可能有点令人困惑的是,Python 中的字符串和字符没有单独的数据类型。字符串本质上是由 1 个字母组成的字符串列表。