人才网站怎么建设,wordpress主题比较,南阳网站建设8iwang,顺德公司做网站「作者主页」#xff1a;士别三日wyx 「作者简介」#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」#xff1a;小白零基础《Python入门到精通》 extend函数使用详解 1、可以接收的参数1.1、添加字符串1.2、添加元组1.3、添加字… 「作者主页」士别三日wyx 「作者简介」CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」小白零基础《Python入门到精通》 extend函数使用详解 1、可以接收的参数1.1、添加字符串1.2、添加元组1.3、添加字典 2、原理解析3、extend() 和 append()、 的区别4、特殊的添加方式 extend() 可以在列表末尾「添加」另一个「序列」中的值。
语法
list.extend( iterable )参数
iterable 需要添加的元素列表
返回值
没有返回值只是修改原来的列表
实例向列表中添加另一个列表
list1 [1, 2, 3]
list2 [4, 5, 6]list1.extend(list2)
print(list1)输出
[1, 2, 3, 4, 5, 6]1、可以接收的参数 extend() 接收的参数类型是「可迭代对象」任何具有_iter_()或_getitem_()方法的对象都是可迭代对象Python内了很多可迭代对象常见的有 liststrtupledict。
1.1、添加字符串 extend() 可以添加「字符串」类型的数据字符串的每一个「字符」都被当做一个新「元素」。
list1 [1, 2, 3]
str1 abclist1.extend(str1)
print(list1)输出
[1, 2, 3, a, b, c]1.2、添加元组 extend() 可以添加「元组」类型的数据和添加列表类似每个「元素」都被当做一个新元素。
list1 [1, 2, 3]
tuple1 (4, 5, 6)list1.extend(tuple1)
print(list1)输出
[1, 2, 3, 4, 5, 6]1.3、添加字典 extend() 可以添加「字典」类型的数据只添加键每一个「键」都被当做一个新「元素」。
list1 [1, 2, 3]
dict1 {key1: 1, key2: 2}list1.extend(dict1)
print(list1)输出
[1, 2, 3, key1, key2]2、原理解析 extend() 只是将元素追加在列表「末尾」本质上是 “修改” 而不是 “增加”不会创建新的列表。 我们打印添加前、后的内存地址可以发现「内存地址」没有变还是原来的那个列表。
list1 [1, 2, 3]
list2 [4, 5, 6]print(id(list1))
list1.extend(list2)
print(id(list1))输出
1930566508928
1930566508928extend() 在添加其他类型时会先转换成 list再添加元素类似下面这样
list1 [1, 2, 3]
str1 abclist2 list(str1)
print(list2)
list1.extend(list2)
print(list1)输出
[a, b, c]
[1, 2, 3, a, b, c]3、extend() 和 append()、 的区别
以添加列表为例 extend() 添加列表是将列表中的「每个元素」都当做一个新元素添加到原来的列表中
list1 [1, 2, 3]
list2 [4, 5, 6]list1.extend(list2)
print(list1)输出
[1, 2, 3, 4, 5, 6]append() 添加列表是将「整个列表」当做一个新元素添加到原来的列表中
list1 [1, 2, 3]
list2 [4, 5, 6]list1.append(list2)
print(list1)输出
[1, 2, 3, [4, 5, 6]]会「拼接」元素并创建一个新的列表存放内存地址会改变
list1 [1, 2, 3]
list2 [4, 5, 6]print(id(list1))
print(id(list2))
print(id(list1 list2))输出
2680876376448
2680876376576
2680878544128的效果跟 extend() 一样每个元素都被当做一个新元素并且不会改变内存
list1 [1, 2, 3]
list2 [4, 5, 6]
print(id(list1))
list1 list2
print(list1)
print(id(list1))输出
2150265921856
[1, 2, 3, 4, 5, 6]
21502659218564、特殊的添加方式
配合算术「运算符」添加列表
list1 [1, 2, 3]
list2 [4, 5, 6]list1.extend(list2 * 2)
print(list1)
list1.extend(list1 list2)
print(list1)输出
[1, 2, 3, 4, 5, 6, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 4, 5, 6, 1, 2, 3, 4, 5, 6, 4, 5, 6, 4, 5, 6]「索引」取值添加列表
list1 [1, 2, 3]
list2 [4, 5, 6]list1.extend(list2[1:2])
print(list1)输出
[1, 2, 3, 5]