iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python列表append()函数使用方法详解
  • 509
分享到

Python列表append()函数使用方法详解

2024-04-02 19:04:59 509人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 基本使用2. 任意类型元素3. 列表同步3.1 原理剖析3.2 解决方案4. append()与extend()的区别总结1. 基本使用 append() 函数可以向列表末

1. 基本使用

append() 函数可以向列表末尾添加元素

语法

list.append( element )

参数

  • element:任何类型的元素

实例:向列表末尾添加一个元素

name_list = ['zhangsan', 'lisi', 'wangwu']
name_list.append('zhaoliu')
print(name_list)

输出:

['zhangsan', 'lisi', 'wangwu', 'zhaoliu']

需要注意的是, append() 函数添加的元素在列表的「末尾」而不是任意位置

2. 任意类型元素

append() 函数可以向列表末尾添加「任意类型」的元素

实例:添加普通类型(数值、字符串)元素

list1 = ['zhangsan', 'lisi', 'wangwu']
list1.append(1)  # 添加整形
print(list1)
list1.append('str')  # 添加字符型
print(list1)

输出:

['zhangsan', 'lisi', 'wangwu', 1]
['zhangsan', 'lisi', 'wangwu', 1, 'str']

实例:添加集合类型(列表,元祖)元素

list1 = ['zhangsan']
list1.append([1,2,3])  # 添加列表
print(list1)
list1.append((4,5,6))  # 添加元祖
print(list1)

输出:

['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3], (4, 5, 6)]

3. 列表同步

使用 append() 函数添加列表时,是添加列表的「引用地址」而不是添加列表内容,当被添加的列表发生变化时,添加后的列表也会同步发生变化。

list1 = ['zhangsan']
a = [1,2,3]
list1.append(a)  # 列表list1添加列表a
print(list1)
a.append(4)  # 列表a发生变化
list1.append(a)
print(list1)  # 列表list1也会同步变化

输出:

['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3, 4], [1, 2, 3, 4]]

3.1 原理剖析

从输出结果可以发现,当添加的列表发生变化时,先前添加的内容也发生了改变,这会使程序出现意料之外的问题,我们使用 id() 函数验证一下

list1 = ['zhangsan']
a = [1,2,3]
list1.append(a)
print(a, id(a))  # 列表a的引用地址
print(list1[1], id(list1[1]))  # 添加到列表后的引用地址

输出:

[1, 2, 3] 2992145244608
[1, 2, 3] 2992145244608

3.2 解决方案

从输出结果可以看出,问题的原因就在引用地址上面。这里补充两个概念

  • 浅拷贝:拷贝这个对象的引用地址
  • 深拷贝:拷贝对象的内容

使用 copy.deepcopy() 函数深拷贝列表的内容而不是列表的引用地址

list1 = ['zhangsan']
a = [1,2,3]
list1.append(copy.deepcopy(a))
print(a, id(a))  # 列表a的引用地址
print(list1[1], id(list1[1]))  # 添加到列表后的引用地址

输出:

[1, 2, 3] 1963457096704
[1, 2, 3] 1963458936640

由输出结果可以确定,添加后的列表不再引用源列表的地址

使用「深拷贝」添加列表的内容而不是引用地址,从而解决列表同步的问题

list1 = ['zhangsan']
a = [1,2,3]
list1.append(copy.deepcopy(a))  # 深拷贝列表a
print(list1)
a.append(4)  # 列表a发生变化
list1.append(copy.deepcopy(a))  # 深拷贝列表a
print(list1)  # 列表list1不再同步变化

输出:

['zhangsan', [1, 2, 3]]
['zhangsan', [1, 2, 3], [1, 2, 3, 4]]

列表同步问题解决了

4. append()与extend()的区别

  1. append添加的是元素本身,而extend添加的是元素的值
  2. append可以添加所有类型元素,而extend只能添加序列

比如,添加列表时,append会添加整个列表,而extend只会添加列表中的值

list1 = ['zhangsan', 'lisi', 'wangwu']
list2 = ['zhangsan', 'lisi', 'wangwu']
list1.append([1,2,3])
print('append添加整个列表:', list1)
list2.extend([1,2,3])
print('extend添加列表的值:', list2)

输出:

append添加整个列表: ['zhangsan', 'lisi', 'wangwu', [1, 2, 3]]
extend添加列表的值: ['zhangsan', 'lisi', 'wangwu', 1, 2, 3]

总结

到此这篇关于python列表append()函数使用方法的文章就介绍到这了,更多相关Python列表append()使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python列表append()函数使用方法详解

本文链接: https://www.lsjlt.com/news/118483.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python列表append()函数使用方法详解
    目录1. 基本使用2. 任意类型元素3. 列表同步3.1 原理剖析3.2 解决方案4. append()与extend()的区别总结1. 基本使用 append() 函数可以向列表末...
    99+
    2024-04-02
  • Python 列表 append()函数使用详解
    「作者主页」:士别三日wyx append函数详解 1. 基本使用2. 任意类型元素3. 列表同步3.1 原理剖析3.2 解决方案 4. append()与extend()的区别 ...
    99+
    2023-09-08
    python 开发语言 后端 网络安全
  • python列表中remove()函数的使用方法详解
    目录1.基本使用2.删除普通类型元素3.删除对象类型元素4.一次只删一个元素5、Python列表的remove方法的注意事项总结1. 基本使用 remove() 函数可以删除列表中的...
    99+
    2024-04-02
  • 怎么在python中​使用append函数扩展列表
    这篇文章将为大家详细讲解有关怎么在python中使用append函数扩展列表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python主要用来做什么Python主要应用于:1、Web开发;2...
    99+
    2023-06-14
  • Python 列表 sort()函数使用详解
    「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 sort函数使...
    99+
    2023-09-13
    python 人工智能 网络安全 机器学习
  • Python 列表 pop()函数使用详解
    「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 pop函数使用...
    99+
    2023-09-04
    python 网络安全 人工智能 机器学习
  • Python列表append()怎么使用
    列表的 append() 方法用于在列表的末尾添加元素。它接受一个参数,即要添加的元素。下面是使用 append() 方法的语法:`...
    99+
    2023-08-29
    python
  • Python列表常用函数使用详解
    目录介绍 append()extend()insert()pop()remove()介绍  append() 语法 list.append( element ) 参数 el...
    99+
    2024-04-02
  • Python之列表append()方法使用实例代码分析
    这篇文章主要介绍“Python之列表append()方法使用实例代码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python之列表append()方法使用实例代码分析”文章能帮助大家解决问题。...
    99+
    2023-07-04
  • python列表中remove()函数的使用方法
    python列表中remove()函数的使用方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 基本使用remove() 函数可以删除列表中的指定元素语法list.re...
    99+
    2023-06-22
  • 详解Python列表解析式的使用方法
    目录列表解析式的优势如何在 Python 中创建列表循环map() 对象列表解析式哪种方法更有效高级解析式条件逻辑集合解析式字典解析式海象运算符什么时候不要使用解析式注意嵌套的解析式...
    99+
    2024-04-02
  • Python list append方法之给列表追加元素
    目录Python list append方法给列表追加元素描述语法举例注意事项给列表list中元素添加的四种方式1. append()2. extend() 3....
    99+
    2024-04-02
  • Python .format()函数使用方法详解
    目录format函数的调用format函数及其占位符的调用格式占位符以及参数设定position/keyfill参数align参数sign参数width参数precision参数pr...
    99+
    2024-04-02
  • python中append函数怎么使用
    在Python中,append()方法用于在列表的末尾添加元素。它的语法如下:列表名称.append(要添加的元素)下面是一个例子,...
    99+
    2023-08-17
    python append
  • Python之列表的append()方法最容易踩的坑
    目录Python列表的append()方法踩坑Python列表的append函数append的功能append的用法append的注意事项实战Python列表的append()方法踩...
    99+
    2024-04-02
  • 使用python append函数报错怎么解决
    当使用Python的`append()`函数时,有以下几个常见的错误和解决方法: `AttributeError: 'NoneT...
    99+
    2023-10-27
    python
  • python列表与列表算法详解
    目录1. 序列类型定义2. 列表的基础知识2.1 列表定义2.2 列表基本操作总结1. 序列类型定义 序列是具有先后关系的一组元素 序列是一维元素向量,元素类型可以不同 ...
    99+
    2024-04-02
  • Python常用正则函数使用方法详解
    今天给大家介绍一下Python中常用的正则表达式处理函数。Python的正则表达式主要有两种方法完成模式匹配:『搜索』和『匹配』   re.match re.match 尝...
    99+
    2024-04-02
  • python列表与列表算法详解(2)
    目录2. 案例【三酷猫冒泡法排序】3. 案例【三酷猫二分法查找】总结1. 案例【三酷猫列表记账】 操作需求: (1)用列表对象记录三酷猫每天钓鱼的种类和数量 (2)统计三酷猫所钓...
    99+
    2024-04-02
  • Python列表常用函数怎么使用
    这篇文章主要介绍“Python列表常用函数怎么使用”,在日常操作中,相信很多人在Python列表常用函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python列表常用函数怎么使用”的疑惑有所帮助!...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作