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的时候 ...
随机推荐
- Linux-3作业练习
1.自建yum仓库,分别为网络源和本地源 请移步: yum源配置 2.编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交. 请移步:http2.4编译安装 总结参照https ...
- Linux文本工具-cat-cut-paste;文本分析-sort-wc-uniq
1.1 查看文本文件内容 cat 1.1.1 cat可以查看文本内容 cat [OPTION]... [FILE]... 常见选项 -E: 显示行结束符$ -A: 显示所有控制符 -n: 对显示出的 ...
- mybaits映射器方法多参数传递
1.参数传递的表达式 1.#{参数名}: 这种方法可以解决sql注入,把参数变成 ?(推荐用这种方式) 2.${参数名}:这种方法不能防止sql注入 2.只有一个参数 方法:public Countr ...
- 如何使用Docker构建前端项目
原文链接 Docker单独部署前端项目和Node项目是非常便捷的,在这里分享一下Docker的使用,主要聊聊它的部署实践.(我是window10专业版安装Docker) Docker Docker是一 ...
- 前端HTML-01
HTML是什么? 超文本标记语言,是一种用于创建网页的标记语言 文件的扩展名:.html或者.htm HTML不是什么? HTML是一种标记语言,不是变成语言. HTML文档结构 <!DOCTY ...
- 机器学习实战-k近邻算法
写在开头,打算耐心啃完机器学习实战这本书,所用版本为2013年6月第1版 在P19页的实施kNN算法时,有很多地方不懂,遂仔细研究,记录如下: 字典按值进行排序 首先仔细读完kNN算法之后,了解其是用 ...
- while..else ;for;range; 基本数据类型的内置函数
while + esle #当while循环正常循环结束后,会执行else中的代码块.如果遇到break结束循环,else中的代码将不会运行. ``` 结构: while 条件: 循环代码 else: ...
- C\C++白嫖学习
一.C语言的学习 推荐B站的郝斌老师的C语言教程,播放量可观.注意在学习前可在评论区"找宝藏". 大家可能也知道B站的小甲鱼,个人感觉内容不够优质,讲得有点粗糙,讲的故事有 ...
- 817. Linked List Components - LeetCode
Question 817. Linked List Components Solution 题目大意:给一个链表和该链表元素组成的一个子数组,求子数组在链表中组成多少个片段,每个片段中可有多个连续的元 ...
- 文件操作(Java)
学习内容:文件操作 1.输入流:InputStream类是字节输入流的抽象类,常用的一些方法有: raed()方法:从输入流中读取数据的下一个字节 reset()方法:将输入指针返回到当 ...