列表是 python 常见的数据结构类型
用于在列表后追加一个数据有“append()”方法
用于在列表后追加多个数据有“+”和“extend()”两种方法
下面介绍“+”和“extend()”这两种方法的异同:

1 extend() 方法

a = [1,2,3]
b = [4,5,6]
print("a id :",id(a))
print("b id :",id(b))# extend()方法
a.extend(b)
print("extend: a =",a)
print("extend: a id =",id(a))# 结果
>> a id : 139646799147568
>> b id : 139646799150128
>> extend: a = [1, 2, 3, 4, 5, 6]
>> extend: a id = 139646799147568

可见,列表的extend()方法能够把 b 列表中多个元素追加到 a 里面,而不改变 a 的 id

2 列表加法


a = [1,2,3]
b = [4,5,6]
print("a id :",id(a))
print("b id :",id(b))# +
a += b
print("+: a =",a)
print("+: a id =",id(a))# 结果
>> a id : 140080409711152
>> b id : 140080409713712
>> +: a = [1, 2, 3, 4, 5, 6]
>> +: a id = 140080409711152

可见,列表的加法方法能够实现相同的功能,也不改变 a 的 id

3 注意事项

网上其他博客可能会说 列表加法 的追加方式会改变 id
请注意,这是由于他们的实例引入了新的列表,如下所示

a = [1,2,3]
b = [4,5,6]
c = []
print("a id :",id(a))
print("b id :",id(b))
print("c id :",id(c))# +
c = a + b
print("a =",a)
print("b =",b)
print("c =",c)
print("a id :",id(a))
print("b id :",id(b))
print("c id :",id(c))>> a id : 140212670542384
>> b id : 140212670544944
>> c id : 140212669314064
>> a = [1, 2, 3]
>> b = [4, 5, 6]
>> c = [1, 2, 3, 4, 5, 6]
>> a id : 140212670542384
>> b id : 140212670544944
>> c id : 140212669289248

可见,c 最开始被初始化为空列表
通过赋值后,id 改变,这才是网上其他帖子未说明的原因

【Python】列表方法“+”与“extend()”区别相关推荐

  1. Python列表,元组,字典的区别

    Python列表,元组,字典的区别: 1.元组是不可变的, 而列表.字典是可变的.元组是不可变对象,对象一旦生成,它的值将不能更改:列表是可变对象,对象生成后,可以对其元素进行更改.添加.删除.清空. ...

  2. 使用Python列表方法模拟约瑟夫环问题

    问题描述: 有n个人围成一圈,从1开始按顺序编号,从第一个人开始从1到k(假设k=3)报数,报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号. 之前曾经推送过一个使用P ...

  3. python数组和列表的区别_JS数组方法与python列表方法的比较

    JS的数组(Array)与python的列表(List)很相似,本人因为之前学过JS,后来学习python感觉有些方法很容易混淆,这里对常用的一些方法做些区分 增 删 改 查 排序 逆序 增加元素 1 ...

  4. python extend_也谈python列表append和extend的区别

    关于append和extend两个方法,网上很多人说法如下: append() 方法向列表的尾部添加一个新的元素.只接受一个参数. extend()方法只接受一个列表作为参数,并将该参数的每个元素都添 ...

  5. python列表方法语句_Python中列表和元组的相关语句和方法讲解

    列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数-- list(iter):把可迭代对象转换为列表. str(obj):把obj对象转换为字符串,即用字符串来表示这个对象. tup ...

  6. python定义一个空列表lt_11个python列表方法全面解析!

    参数:object可以添加 列表,字典,元组,集合,字符串等. #append()函数的操作对象是原列表.ls = [1,2,3,4,5,6] ls.append(12)#添加元素 print(ls) ...

  7. python列表方法图解_python中list(列表)的使用方法总结(图文)

    本篇文章给大家带来的内容是关于python中list(列表)的使用方法总结(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.list(列表)是一种有序的集合,可以随时添加. ...

  8. python列表和元组的区别

    目录 一.list(列表)和tuple(元组)共同点和区别 二.定义一个变量,包含现在所学的数据类型 三.目前学到的序列有哪些? 1.将除tuple之外的序列转换为tuple 2.将除list之外的序 ...

  9. python列表和链表的区别_顺序表和链表的区别

    一.从操作上角度 顺序表和链表都具有增.删.查.改的相同功能,但算法复杂度却不相同. (1)增:顺序表往指定位置,不覆盖的添加一个值,后面的值日要往后移动,算法复杂度为O(n):链表往指定位置添加一个 ...

最新文章

  1. OpenCV学习笔记(一):图像显示
  2. 分布式系统中的进程标识
  3. DOM 事件深入浅出(二)
  4. Linux iptables:规则原理和基础
  5. 16位计算机cpu电路图,简单16位CPU设计.doc
  6. 安装eclipse及android,Eclipse Android 安装
  7. Java 使用阿里云短信的API接口
  8. 如何使用SQL删除某个字段重复的记录,保留其中一条
  9. MacBook高效优先设置,你都开启了吗?
  10. x86架构PC机系统总线概述
  11. [VC++]控制台程序窗口隐藏
  12. Centos 7环境MySql8.0.28源码安装
  13. svchost是什么程序
  14. 第四章——权限提升分析及防御
  15. RocketMQ 延迟消息(定时消息)4.9.3 版本优化 异步投递支持
  16. Java开发工具-IDEA(更新中...)
  17. .NET项目报受源代码管理,向源代码管理注册此项目时出错的解决方案
  18. 微信企业支付 服务器根证书,微信支付服务器证书根ca证书有什么用
  19. 用Arduino做一个“空心时钟”(只有表针,没有表盘)
  20. ACL中的permit/deny与traffic policy中behavior的permit/deny之间是什么关系?

热门文章

  1. 3D应用开发中的欧拉角和旋转矩阵
  2. Android Arcface人脸识别sdk使用工具类
  3. Vagrant (一) - 基本知识
  4. UIButton设置圆角和边框
  5. window8.1中用户的管理员权限的提升方法
  6. svn 中的url路径修改和 清除 svn用户名和密码
  7. GitHub上最流行的10000个Java都使用了哪些库?
  8. 网路游侠:某硬件WEB应用防火墙配置图示
  9. C# 11 新增特性
  10. sql server2008用ip远程连接,解决默认连不上的问题