list += 'string' 和 list += ['string'] 的区别

问题描述 投票:0回答:2

我在Python中错误地输入了一个命令:

completed_list = []
completed_list += 'bob'

返回:

['b', 'o', 'b']

我不太清楚为什么会发生这种情况。

此外,在这种情况下

+=
append
有什么区别吗?我的意思是在
completed_list.append('bob')
completed_list += ['bob']
之间。

python list append
2个回答
2
投票

原因已记录,参见这里

+=
的行为类似于列表中的
.extend()
,它将列表的内容附加到列表中。因此,如果您
+= string
那么它会采用类似列表的字符串并附加每个字符,但在其他情况下它会添加列表的内容,这就是我指的字符串
bob
本身


1
投票
>>> 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 个字母组成的字符串列表。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.