读书人

在 python 中如果 x 是 list为什么

发布时间: 2013-03-13 10:56:58 作者: rapoo

在 python 中,如果 x 是 list,为什么 x += "ha" 可以运行,而 x = x + "ha" 却抛出异常呢

问题

众所周知,在 python 中,+ 运算符可以使用在列表上,+ 运算符只需要第二个操作数是可迭代的(原文:iterable。@justjavac),那么 + 显然可以运算在 "ha" 上。在 python 中,如果 x 是 list,为什么 x +=

代码如下:

>>> x = []>>> x += "ha">>> x['h', 'a']>>> x = x + "ha"Traceback (most recent call last):File "<stdin>", line 1, in <module>TypeError: can only concatenate list (not "str") to list

解答

当我们在列表 list 上使用 += 的时候,其实相当于调用函数 extend(),而不是使用的 +。

读书人网 >perl python

热点推荐