Python列表append和+的区别浅析

yipeiwu_com7年前Python基础

在python中使用列表的时候大家经常会需要向一个列表中添加一个元素,像下面这两种使用方法需要注意:

复制代码 代码如下:

t = [1, 2, 3]
t1 = t.append([4])
t2 = t + [4]

以上两种使用方式是有区别的,我们来看看实际运行的效果:

复制代码 代码如下:

>>> t = [1, 2, 3]
>>> t1 = t.append([4])
>>> t
[1, 2, 3, [4]]
>>> t1
>>>
>>> t2 = t + [4]
>>> t2
[1, 2, 3, [4], 4]
>>> t
[1, 2, 3, [4]]

可以看到使用t.append([4])后,实际是在t这个列表中增加,而非我们预期的在t1中增加,并且此时t1为None。

而使用t2 = t + [4]后,t2是在原用t1的基础上再增加一个元素4,而实际列表t中元素无变化。

结论:

使用append实际是修改一个列表,使用+实际是创建一个新的列表。

相关文章

关于Python形参打包与解包小技巧分享

Python中的函数调用与c++不同的是将this指针直接作为self当作第一个形参进行处理,从而将静态函数与实例方法的调用形式统一了起来。在实际编程过程中,可以通过传递函数的地址、函数...

Python利用Beautiful Soup模块创建对象详解

安装 通过 pip 安装 Beautiful Soup 模块:pip install beautifulsoup4 。 还可以使用 PyCharm IDE 来写代码,在 PyChar...

使用Rasterio读取栅格数据的实例讲解

Rasterio简介 有没有觉得用GDAL的Python绑定书写的代码很不Pythonic,强迫症的你可能有些忍受不了。不过,没关系,MapBox旗下的开源库Rasterio帮我们解决了...

TensorFlow2.0:张量的合并与分割实例

** 一 tf.concat( ) 函数–合并 ** In [2]: a = tf.ones([4,35,8]) In [3]:...

Flask核心机制之上下文源码剖析

一、前言 了解过flask的python开发者想必都知道flask中核心机制莫过于上下文管理,当然学习flask如果不了解其中的处理流程,可能在很多问题上不能得到解决,当然我在写本篇文章...