Python List 中的append 和 extend 的区别
方法的参数不同
append 方法是向原list的末尾添加一个对象(任意对象;如元组,字典,列表等),且只占据一个原list的索引位,添加后无返回值,直接在原列表中添加。 list.append(object)
list1 = ["hello", "world"]
list2 = "hello"
list_s = ["Python"]
list_s.append(list1)
list_s.append(list2)
print(list_s)
>> ['Python', ['hello', 'world']]
>> ['Python', ['hello', 'world'], 'hello']
extend 方法是向原list的末尾中添加一个可迭代的序列,序列中有多少个对象就会占据原list多少个索引位置,添加后无返回值,直接在原列表中添加。 list.extend(sequence)
list1 = ["hello", "world"]
list2 = "hello"
list_s = ["Python"]
list_s.extend(list1)
list_s.extend(list2) # 添加字符串时,字符串为可迭代序列,且序列元素为字符串中的字符
print(list_s)
>> ['Python', 'hello', 'world']
>> ['Python', 'hello', 'world', 'h', 'e', 'l', 'l', 'o']
对添加对象的处理方式不同
append 在内存中,是直接添加的追加对象的地址,没有创建新的存储空间,即修改原始的追加值,被追加的list也会被相应改变
list1 = ["hello", "world"]
list_s = ["Python"]
list_s.append(list1)
print(list_s)
list1[0] = "C" # 原始追加值改变,list_s 也相应改变
print(list_s)
>> ['Python', ['hello', 'world']]
>> ['Python', ['C', 'world']]
extend 在内存中,是直接复制的追加对象的值,创建了新的存储空间,原始追加值和添加后的值互不干扰
list1 = ["hello", "world"]
list_s = ["Python"]
list_s.extend(list1)
print(list_s)
list1[0] = "C" # 原始追加值改变,list_s 不被影响,因为其创建了新的存储空间
print(list_s)
>> ['Python', 'hello', 'world']
>> ['Python', 'hello', 'world']
Python List 中的append 和 extend 的区别的更多相关文章
- Python中append()与extend()的区别
列表方法append()和extend()之间的差异: append:在最后追加对象 x = [1, 2, 3] x.append([4, 5]) print (x) 结果 [1, 2, 3, [4, ...
- python中List append()、extend()和insert()的区别
Python中向列表增加更多数据时,有append().extend()和insert()等方法 其中最常用的是list.append(obj) 向列表的尾部添加一个新的元素. 需要一次性添加多个元素 ...
- Python中 append 和 extend 的区别
Python中Lists 的两个方法: append 和 extend : list.append(object) 向列表中添加一个对象object.append 接受一个参数,这个参数可以是任何数据 ...
- Python中append和extend的区别
编者注:本文主要参考了<Python核心编程(第二版)> 网上有很多对这两个函数的区别讲解,但我觉得都讲的不是很清楚,记忆不深刻.这样解释清楚且容易记住. list.append(obje ...
- Python合并列表,append()、extend()、+、+=
在实际应用中涉及到了列表合并的问题. 在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别 1.append() 向列表尾部追加一 ...
- python Web中WSGI uWSGI 以及 uwsgi的区别
WSGI协议 首先弄清下面几个概念: WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述web ...
- append和extend 的区别
l = ["zhy",666] l.extend(["edit","sdd"]) print(l) #['zhy', 666, 'edit' ...
- jquery中的 append , after , prepend , before 区别
jQuery append() 方法在被选元素的结尾插入内容. jQuery prepend() 方法在被选元素的开头插入内容. jQuery after() 方法在被选元素之后插入内容. jQuer ...
- python list中append()方法和extend()方法区别
共同点 只能作用于list类型(不能作用于tuple等其他类型) 单参数限制(不支持多参数) 不同点 list.append(object) 向列表中添加一个对象object. 使用append的时候 ...
随机推荐
- 【面试普通人VS高手系列】volatile关键字有什么用?它的实现原理是什么?
一个工作了6年的Java程序员,在阿里二面,被问到"volatile"关键字. 然后,就没有然后了- 同样,另外一个去美团面试的工作4年的小伙伴,也被"volatile关 ...
- C++基础-6-继承
6. 继承 1 #include<iostream> 2 using namespace std; 3 4 5 class Base { 6 public: 7 Base() { 8 m_ ...
- 浅谈 Linux IO
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 来源于:360云计算 1 前言 Linux IO是文件存储的基础.本文参考了网上博主的一些文章,主要总结了LinuxIO的基 ...
- Kubernetes 从入门到进阶实战教程 (2021 最新万字干货版)
作者:oonamao 毛江云,腾讯 CSIG 应用开发工程师原文:来源腾讯技术工程,https://tinyurl.com/ya3ennxf 写在前面 笔者今年 9 月从端侧开发转到后台开发,第一个系 ...
- 一文带你读懂zookeeper在大数据生态的应用
一个执着于技术的公众号 一.简述 在一群动物掌管的世界中,动物没有人类聪明的思想,为了保持动物世界的生态平衡,这时,动物管理员-zookeeper诞生了. 打开Apache zookeeper的官网, ...
- uniapp中IOS安卓热更新和整包更新app更新
在App.vue中 onLaunch: function() { console.log('App Launch'); // #ifdef APP-PLUS this.getVersion(); // ...
- Java 统计新客户
上周做了一个订单数据统计的任务,统计的是订单的新客户数量,本文做一个解题过程的记录和整理. 新客户的定义 新客户指的是选取时间段有订单,时间段之前没有订单. 比如下面的订单数据: 时间段 2月1日之前 ...
- [持续更新] Python学习、使用过程中遇见的非代码层面知识(想不到更好的标题了 T_T)
写在前面: 这篇博文记录的不是python代码.数据结构.算法相关的内容,而是在学习.使用过程中遇见的一些没有技术含量,但有时很令人抓耳挠腮的小东西.比如:python内置库怎么看.python搜索模 ...
- Vue路由实现之通过URL中的hash(#号)来实现不同页面之间的切换(图表展示、案例分析、附源码详解)
前言 本篇随笔主要写了Vue框架中路由的基本概念.路由对象属性.vue-router插件的基本使用效果展示.案例分析.原理图解.附源码地址获取. 作为自己对Vue路由进行页面跳转效果知识的总结与笔记. ...
- MongoDB 主节点的选举原则
每日一句 Life is like a shower. One wrong turn and you're in hot water. 生活就像淋浴,方向转错,水深火热. 概述 MongoDB在副本集 ...