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解决计数原理问题的方法

前几天遇到这样一道数学题: 用四种不同颜色给三棱柱六个顶点涂色,要求每个点涂一种颜色,且每条棱的两个端点涂不同颜色,则不同的涂色方法有多少种? 当我看完题目后,顿时不知所措。于是我拿起...

TensorFLow用Saver保存和恢复变量

本文为大家分享了TensorFLow用Saver保存和恢复变量的具体代码,供大家参考,具体内容如下 建立文件tensor_save.py, 保存变量v1,v2的tensor到checkp...

Python遍历pandas数据方法总结

Python遍历pandas数据方法总结

前言 Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。其中Pandas定义了Series 和 DataFrame两种数据类型,这使数据操作变得更简...

Python设计模式之原型模式实例详解

Python设计模式之原型模式实例详解

本文实例讲述了Python设计模式之原型模式。分享给大家供大家参考,具体如下: 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的...

在Python的Flask框架中实现全文搜索功能

 全文检索引擎入门 灰常不幸的是,关系型数据库对全文检索的支持没有被标准化。不同的数据库通过它们自己的方式来实现全文检索,而且SQLAlchemy在全文检索上也没有提供一个好的...