python如何实现列表中的增操作
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,小编给大家分享一下python如何实现列表中的增操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!列表中的增对列表的增加操
千家信息网最后更新 2024年11月16日python如何实现列表中的增操作
小编给大家分享一下python如何实现列表中的增操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
列表中的增
对列表的增加操作有两种,一种是创建一个新的列表,一种是在一个已有的列表中增加一个新元素。我们首先介绍如何创建一个新的列表:
# 创建一个空列表list1 = []# 创建一个默认值为0,长度为n的列表list2 = [0] * n# 利用列表生成式创建列表list3 = [i for i in range(10)]# 5*5 二维列表list4 = [[i for i in range(5)] for j in range(5)]# 利用其他数据结构生成列表, list() 函数接收一个可迭代对象作为参数tuple1 = (1, 2, 3)list5 = list(tuple1)# 字符串转化为列表str1 = "I love code"# 每个元素作为列表中的一个元素list6 = list(str1)# 按照指定字符分割list7 = str1.split(" ") # ['I', 'love', 'code']
在编程过程中,有时我们需要对一个列表进行操作,但是列表是一个可变对象,对列表的操作往往会改变其本来的顺序结构。因此,当我们不想改变列表原有的顺序结构,我们需要对旧的列表进行一个拷贝,然后在新的列表上进行操作。拷贝存在两种,浅拷贝和深拷贝。可能有人会对这两种拷贝存在疑问,他们得到的列表的形式不是一样的嘛?
是的,它们在拷贝后得到的列表形式确实是一样的。但是在进行操作时,就会有很大的差别了,特别是当你的列表中存在可变对象时。我们只需要记住一点,浅拷贝只复制不可变对象,而深拷贝不仅复制不可变对象,还复制了可变对象。以下进行举例说明:
# 如果一个列表中的元素都是不可变对象,可以直接用浅拷贝list1 = [1, 2, 'i']list2 = list1[::1] # 浅拷贝list3 = [i for i in list1] # 浅拷贝import copylist4 = copy.copy(list1) # 浅拷贝# 如果一个列表中的元素包含可变对象,要完成复制列表,需要用深拷贝list5 = ["Will", 1, ["Python", "Java", "C++"]]list6 = copy.deepcopy(list5)
为什么在包含不可变对象的时候,需要用到深拷贝呢?
上面我们说过,浅拷贝只拷贝不可变对象。当列表中存在可变对象时,我们可以发现其引用 id 是一样的,即它们是同一个对象,因此对 list5 的操作会影响到 list6 。而在深拷贝中,对于可变对象,在拷贝的新列表中会生成一个新的对象,所以对 list6 的修改不会影响到 list5 。
id(list5[2]) # 2195936916360id(list6[2]) # 2195936916744
对列表的另一种增加操作就是在已有的列表的基础上增加元素了,主要包括以下几种操作:
list1 = ["I"]# 在列表尾部增加一个新元素list1.append("love")# 合并两个列表list2 = ["Apple", 3]list1.extend(list2) # ["I", "love", "Apple", 3]list1 = list1 + list2 # ["I", "love", "Apple", 3]# 在指定位置插入元素list1.insert(index=1, "not") # ["I", "not", "love", "Apple", 3]
以上是"python如何实现列表中的增操作"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
拷贝
对象
可变
元素
篇文章
结构
生成
内容
字符
形式
是在
顺序
影响
很大
不怎么
两个
位置
函数
参数
基础
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中国网络安全审查时间
唐山市软件开发
青岛科技大学互联网比赛
日照软件开发哪家好
阜阳企业软件开发费用
山东超频服务器现货
浦东新区多功能软件开发
济南网络技术有限公司怎么样
网络安全cpm
数据库挂起删除注册表
宜人贷网络技术安全保险
小学网络安全教育活动信息
软件开发未来的前景
丰田网络技术学院
圣圆网络技术有限公司
关于护苗网络安全课总结
国企如何应对网络安全
关系数据库性能排行
奉贤区专业性网络技术哪家好
数据库查找条件为两个值
网络安全脆弱性因果
lwip udp 服务器
服务器管理工具打开
笔记本异地登入服务器
网络安全的知识要点
审计局防止网络安全风险
怎样隐藏网络安全密钥
dns服务器每次都要修复
网易服务器ip怎么查看
曙光服务器进raid配置按什么