Python列表操作中extend和append的区别

2023-11-09

1.用法

append()用于在列表末尾添加新的对象,输入参数为对象;

extend()用于在列表末尾追加另一个序列中的多个值,输入对象为元素队列;

2.相同点

两个都是对列表即list进行的操作
具体句法可以写为:

list1.append(obj)  # list1在使用时更改为你想要添加新的对象的列表名,obj为输入对象
list2.extend(seq) # list2在使用时更改为想要追加元素序列的列表名,seq为元素序列

3.区别

如上所述,append是在列表末尾增加新的对象,这个对象可以是列表,并且是列表本身;而extend是在列表末尾增加新的元素序列,这个序列是列表中具体的元素,而非列表本身

4.举例

下面举一个例子来进行直观上的说明

list1 = [1, 2]
list2 = [3, 4]
list3 = [1, 2]
list1.append(list2) # 追加新对象
print(list1)
list3.extend(list2) # 追加新元素序列
print(list3)

下面注意从输出结果的不同来进行理解

[1, 2, [3, 4]] # append的输出结果
[1, 2, 3, 4] # extend的输出结果

注意到extend相当于将输入对象(此处是列表,还可以是字符串或字典)等拆开加入到新的列表中
但要注意字典是比较特殊的,他在用extend时,加入的默认为‘’key‘‘,而在用append时,是整个加入的

list1 = [1, 2]
list2 = [1, 2]
list1.extend({'zhangsan': 18, 'lisi': 22}) # 字典(默认key)
print(list1)
list2.append({'zhangsan': 18, 'lisi': 22})
print(list2)

这时extend输出结果为仅将“alice”和“amy”加入到list1中,attend输出结果为追加一个字典

# output
[1, 2, 'zhangsan', 'lisi'] # extend
[1, 2, {'zhangsan': 18, 'lisi': 22}] # append
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python列表操作中extend和append的区别 的相关文章

  • 用于列出文件夹但排除特定文件夹的批处理脚本

    我希望此脚本列出文件夹名称中包含 deleted 的所有文件夹 但如果它们位于名为 done 的文件夹中则不列出 例如 列出文件夹 如果位于 C temp如果它在C temp random folder name但如果它在C temp do
  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • Flask 会话变量

    我正在用 Flask 编写一个小型网络应用程序 当两个用户 在同一网络下 尝试使用应用程序时 我遇到会话变量问题 这是代码 import os from flask import Flask request render template
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 使用 on_bad_lines 将 pandas.read_csv 中的无效行写入文件

    我有一个 CSV 文件 我正在使用 Python 来解析该文件 我发现文件中的某些行具有不同的列数 001 Snow Jon 19801201 002 Crom Jake 19920103 003 Wise Frank 19880303 l
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • IO 密集型任务中的 Python 多线程

    建议仅在 IO 密集型任务中使用 Python 多线程 因为 Python 有一个全局解释器锁 GIL 只允许一个线程持有 Python 解释器的控制权 然而 多线程对于 IO 密集型操作有意义吗 https stackoverflow c
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 有没有办法检测正在运行的代码是否正在上下文管理器内执行?

    正如标题所述 有没有办法做到这样的事情 def call back if called inside context print running in context else print called outside context 这将

随机推荐

  • 解析 slim.arg_scope

    def resnet arg scope weight decay 0 0001 is training True batch norm decay 0 997 batch norm epsilon 1e 5 batch norm scal
  • C++ 引用规则

    引用及其注意事项 1 引用没有定义 是一种关系型声明 声明它和原有某一变量 实体 的关系 古而类型与源类型保持一会 且不分配内存 与被引用的变量有相同的地址 2 声明的时候必须初始化 一经声明 不可变更 3 可对引用 再次引用 多次引用的结
  • [Leetcode] 76. 最小覆盖子串

    给你一个字符串 s 一个字符串 t 返回 s 中涵盖 t 所有字符的最小子串 如果 s 中不存在涵盖 t 所有字符的子串 则返回空字符串 注意 对于 t 中重复字符 我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量 如果 s 中存
  • 算法(公式法):判断是否完全平方数

    给定一个正整数 num 编写一个函数 如果 num 是一个完全平方数 则返回 True 否则返回 False 说明 不要使用任何内置的库函数 如 sqrt 示例 1 输入 16 输出 True 示例 2 输入 14 输出 False 利用公
  • Qt常用的快捷键

    alt enter 自动创建类定义的实现 F1 查看帮助 文档 F2 快速到变量声明 Shift F2 函数的声明和定义之间快速切换 F4 在 cpp 和 h 文件切换 Ctrl M 创建书签 Ctrl 切换书签 Alt M打开书签栏 Ct
  • SVN学习2020.8.9

    SVN账号密码一般是有一个配置管理员给配置的 文件夹绿色标志 代表和服务器文档是一致的 同步更新的 同步更新服务器信息 update 执行操作都先update 再做其他 先保证本地和服务器一致 先更新 上锁 再修改 再提交 解锁 如何把本地
  • 供应链金融与区块链01——论文阅读

    本文章仅用于记录本人学习过程 当作笔记来用 如有侵权请及时告知 谢谢 1 基于区块链技术的供应链金融体系优化研究 龙云安 但是由于 互联网 供应链 无法 及时跟进资金流和信息流 导致核心企业 供应链金 融平台和提供融资的商业银行无法及时掌控
  • 解决前端跨域的问题.Access to XMLHttpRequest at http://xxx.xxx from origin 'http://localhost:8000' has been bl

    1 前端浏览器报错如下 Access to XMLHttpRequest at http xxx xxx from origin http localhost 8000 has been blocked by CORS policy Res
  • Scratch 3.0源码 之 多语言实现

    文章目录 实现方式 初始版本 多语言版本 1 页面文件 2 配置文件 3 建立关联 语法说明 案例1 带HTML标签写法 建议写法 案例2 带超链接写法 建议写法 Scratch 3 0中各类显示文本默认是英文 如果不支持自己的语言 或者自
  • 红队隧道应用篇之Neo-reGeorg实现内网穿透(四)

    简介 reGeorg是一个能够实现内网穿透的工具 基于socks5协议 且能支持众多脚本 由于此工具使用率过高 导致容易被杀毒软件拦截 现有一个项目是由reGeorg修改而来 而且做了加密和免杀处理 这款工具的名字就叫Neo reGeorg
  • sqlServer 自定义函数-传入参数并返回动态表

    自定义函数 传入参数并返回动态表 create FUNCTION dbo v usrlist usr varchar 20 传入当前用户代码 返回动态表 表里面包含编码及名称两个字段 RETURNS tolist TABLE usrcode
  • 一般面试时会遇到的九大难题的对策解析

    终于接到面试通知书了 欣喜之余开始考虑即将面对的种种问题 所谓有备无患 您是否尝试过面试彩排 建议您现在就不妨试上一试 我想这会帮助你对其他问题的回答做准备 好啦面试开始 想象着考官已经坐在您的面前 问题1 为什么不谈谈你自己 分析 这是个
  • 渲染函数render

    文章目录 节点 树以及虚拟 DOM 树 节点 虚拟 DOM vue中render函数的作用 render函数去创建子组件内容 createElement官方文档 参考 节点 树以及虚拟 DOM 在深入渲染函数之前 了解一些浏览器的工作原理是
  • 2016去哪儿编程题:5-血型遗传检测

    题目描述 血型遗传对照表如下 父母血型 子女会出现的血型 子女不会出现的血型 O与O O A B AB A与O A O B AB A与A A O B AB A与B A B AB O A与AB A B AB O B与O B O A AB B与
  • shell 数组(字符串下标)

    现在游戏开的服务器越来越多了 每次用ssh操作都要写ip地址 很烦 也容易出错 所以要自己搞个服务器名到ip的映射 map anahost count 0 temp cat home linwencai sh HOST while read
  • ubuntu18.04合并pdf文件

    以前使用pdftk比较常见 但是pdftk的更新似乎没有跟上 改用pdfunite轻松解决 pdftk原来使用apt安装 现在改成用snap安装pdftk sudo snap install pdftk pdftk合并命令为 pdftk p
  • 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here

    题目链接 https www luogu com cn problem P1200 include
  • C++函数基础

    一 函数的定义和使用 1 函数的定义 类型说明符 函数名 含类型说明的形参表 语句序列 如 int GetSum int a int b return a b 2 形式参数 形式参数的作用是实现主函数与被调函数之间的联系 3 函数的返回值和
  • 【ubuntu】ubuntu实体机与windows互传文件(两台电脑)

    先记录一些命令 dpkg list 查看软件列表 sudo apt get purge remove 包名 purge是可选项 写上这个属性是将软件及其配置文件一并删除 如不需要删除配置文件 可执行sudo apt get remove 包
  • Python列表操作中extend和append的区别

    1 用法 append 用于在列表末尾添加新的对象 输入参数为对象 extend 用于在列表末尾追加另一个序列中的多个值 输入对象为元素队列 2 相同点 两个都是对列表即list进行的操作 具体句法可以写为 list1 append obj