Python列表append和+的区别浅析

yipeiwu_com6年前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实际是修改一个列表,使用+实际是创建一个新的列表。

相关文章

web.py 十分钟创建简易博客实现代码

一、web.py简介 web.py是一款轻量级的Python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架。官方站点:http://webpy....

Python入门学习指南分享

Python入门学习指南分享

对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃。以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段 NO.1 新手入门阶段,学习基础知识 总体...

Python生态圈图像格式转换问题(推荐)

Python生态圈图像格式转换问题(推荐)

在Python生态圈里,最常用的图像库是PIL——尽管已经被后来的pillow取代,但因为pillow的API几乎完全继承了PIL,所以大家还是约定俗成地称其为PIL。除PIL之外,越来...

pandas实现选取特定索引的行

如下所示: >>> import numpy as np >>> import pandas as pd >>> index=n...

python 发送和接收ActiveMQ消息的实例

ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用...