周玮玮优秀作者
原创内容 来源:小居数码网 时间:2024-02-15 20:45:01 阅读() 收藏:38 分享:55 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有511个文字,大小约为3KB,预计阅读时间2分钟。
在第一节中,已经给大家讲解过切片与数组很大的一个区别就是:切片的长度是不固定的,可以向已经定义的切片中追加数据。并且也给大家简单的演示过通过append的函数,在原切片的末尾添加元素。
(问题,以上案例容量的变化,将整型换成“字符串”容量的变量)
问题:可能有同学会问,如果容量不够用了,该怎么办呢?
例如有以下切片:
s:= make([]int, 5, 8)
定义了切片s,长度是5,容量是8
结果是:
并且前面我们讲解过,长度是指已经初始化的空间,现在切片s没有赋值,但是默认值为0
验证如下所示:
结果是:
现在开始通过append函数追加数据,如下所示:
输出结果是:
从输出的结果上,我们完全能够体会到,append函数的作用是在末尾追加(直接在默认值后面追加数据),由于追加了一个元素,所以长度为6.
但是如果我们把程序修改成如下所示:
输出结果是:
由于s[0]=1是直接给下标为0的元素赋值,并不是追加,所以结果的长度不变。
下面我们继续通过append( )继续追加数据:
结果是:
追加完成3个数据后,长度变为了8,与容量相同。
那么如果现在通过append( )函数,继续向切片s中继续追加一个数据,那么容量会变为多少呢?
代码如下:
输出的结果是:
追加完成一个数据后,长度变为9,大于创建切片s时的容量,所以切片s扩容,变为16.
那么切片的容量是否是以2倍容量来进行扩容的呢?
我们可以来验证一下:
输出结果是:
通过以上结果分析,发现是2倍的容量进行扩容。
但是我们修改一下循环条件看一下结果,将循环结束的条件修改的大一些,如下所示:
对应的结果:
通过以上的运行结果分析:当容量小于1024时是按照2倍容量扩容,当大于等于1024是不是按照2倍容量扩容。
上面就是小居数码小编今天给大家介绍的关于(append函数用法)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(308)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:详解python中append后面的参数(append函数用法):http://sjzlt.cn/shuma/118320.html