关于python列表的+操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Laox1ao/article/details/77945716

问题

在将一些字符拼接后加入到一个列表的操作中,遇到了这样的有趣事情。

>>>d = []
>>>d += 'a' + 'b'
>>>d
['a','b']

可以看到,’+=’运算符并不是将整个字符串拼接后作为一个元素加入列表,而是将’+’所连接的每个字符都单独加入。

>>>d += ['c'+'d']
>>>d
['a','b','cd']

可见将拼接字符串列表化之后再加入即达到了目的。
随即想到d=d+’m’行不行呢?

>>>d = d + 'e'
TypeError: can only concatenate list (not "str") to list

不行,出现了错误,换成标准方式看看

>>>d = d +['e']
>>>d
['a','b','cd','e']

这样就可以了!

可见,python中的+=操作有类似于append函数的作用,能直接连接列表和元素,但是+操作却不能,而且+=在连接多个元素(如上拼接的字符串时),更是体现了append的作用,感觉有点意思。

猜你喜欢

转载自blog.csdn.net/Laox1ao/article/details/77945716