91高清免费观看_亚洲高清视频免费观看_91视频综合_国产精品一区99_伊人手机视频_懂色av懂色aⅴ精彩av

有趣生活

当前位置:首页>职场>python 集合类型的特点(Python数据结构一List使用)

python 集合类型的特点(Python数据结构一List使用)

发布时间:2024-01-24阅读(3)

导读List是什么?List顾名思义就是列表,那么它具体描述是什么呢?列表是一个线性的集合,它允许用户在任何位置插入、删除、访问和替换元素。在python中li....

python 集合类型的特点(Python数据结构一List使用)(1)

List是什么?

List顾名思义就是列表,那么它具体描述是什么呢?

列表是一个线性的集合,它允许用户在任何位置插入、删除、访问和替换元素。在python中list是保留字,List中的每个元素都有自己的编号,很像C、C 、java中的数组,但是List更强大。列表主要有以下几个特点:

  • 列表中元素顺序是有序的。比如,你将1,2,3一次存入列表,那个列表中元素顺序一定是1,2,3,而不会是其他的。
  • 列表长度不确定。不同于C/C 里的数组,列表长度不确定,在使用列表时不需要提前声明长度。
  • 列表中存储的元素类型可以不唯一。可以将任何东西加入列表中,其中元素之间可以没有任何关系。
  • 列表中可以有重复元素。

python 集合类型的特点(Python数据结构一List使用)(2)

List简单使用

1. 列表创建

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

此外,如果创建一些常用的数列等列表,可采取以下pythonic的方法快速创建列表:

2. 列表访问

列表访问和其他数组访问差不多,常用索引。但是python列表可以切片,可以取指定索引区间内的元素。

3. 操作列表的函数

  • len(list):列表元素个数
  • max(list):返回列表元素最大值
  • min(list):返回列表元素最小值
  • list(seq):将元组转换为列表
  • del:删除列表,释放内存空间

例子:

3. 列表类型定义的函数

  • list.append(obj):在列表末尾添加新的对象
  • list.count(obj):统计某个元素在列表中出现的次数
  • list.extend(seq):在列表末尾一次性追加另一个序列中的多个值
  • list.index(obj):从列表中找出某个值第一个匹配项的索引位置
  • list.insert(index, obj):将对象插入列表
  • list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并返回
  • list.remove(obj):移除列表中某个值的第一个匹配项
  • list.reverse():反向列表中元素
  • list.sort([func]):对原列表进行排序

例子:

list一些常见函数的时间复杂度

python 集合类型的特点(Python数据结构一List使用)(3)

常见函数的时间复杂度

python 集合类型的特点(Python数据结构一List使用)(4)

【附加阅读】

底层实现机制

List对象是用c结构来实现,由一个保存元素的指针数组和预先分配的内存总容量构成。分离式结构,两者之间用一个元素建立一个链接,连在一起。能够根据元素的数量自动的扩充或者缩小list的内存大小。

要在内存中给集合开辟一块区域,总得先确定大小(容量),不然如何开辟?另外,确定区域后,还要知道当前已经占用了几个元素(元素个数),一旦溢出,就需要重新申请空间。要表达这种结构,有两种实现方式。一种是把头信息和元素串到一起,形成一个元素个数 2的表。另一种就是把头信息和元素分开放,两者之间用一个元素建立一个链接,连在一起。

python 集合类型的特点(Python数据结构一List使用)(5)

存储表信息的单元与元素存储区以连续的方式安排在一块存储区里,两部分数据的整体形成一个完整的顺序表对象。一体式结构整体性强,易于管理。但是由于数据元素存储区域是表对象的一部分,顺序表创建后,元素存储区就固定了。

分离式结构中表对象里只保存与整个表有关的信息(即容量和元素个数),实际数据元素存放在另一个独立的元素存储区里,通过链接与基本表对象关联。一旦表需要扩充,对于一体式结构来说,就要重新申请一块更大的空内存区域,将所有元素放入其中,再清空旧的内存区域。对于分离式结构来说,则需要将链接地址更新一下,顺序表对象是不变的。

List的扩充采取两种策略,每次扩充增加固定数目的存储位置,这种策略可称为线性增长,节省空间,但是扩充操作频繁,操作次数多。每次扩充容量加倍,以空间换时间。从实现上来讲,在python中创建空ist时,会申请一个8个元素大小的内存区域。以后如果满了,就扩容4倍,且当元素总数达到50000时,再扩容就改为2倍。

python 集合类型的特点(Python数据结构一List使用)(6)

欢迎分享转载→http://www.umpkq.cn/read-215673.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图

主站蜘蛛池模板: 欧美成人精品第一区首页 | 四虎影永久在线观看精品 | 国产精一品亚洲二区在线播放 | 一级人与动毛片免费播放 | 亚洲av无码一区二区三区网站 | 成人精品一区二区三区电影 | 午夜网站在线播放 | 久久精品国产精品亚洲综合 | 七次郎在线成人精品 | 中文字幕 制服 亚洲 另类 | 成人免费观看男女羞羞视频 | 国产精品久久久天天影视 | 99精品久久久久久久 | 精品无码中出一区二区 | 天天操天天干天天玩 | 亚洲经典在线 | 97黄色网 | 国产小视频在线观看 | 国产精品一区二区久久乐下载 | 国产精品无码一区二区三区免费 | 欧美成人中文字幕dvd | 天天爽夜夜爽人人爽曰 | 老色99久久九九精品尤物 | 日本久久中文字幕精品 | 亚洲毛片网| 福利在线影院 | 黄色视屏在线免费观看 | 96香蕉视频 | 亚洲av色无码乱码在线观看 | 999热精品这里在线观看 | 国产亚洲精品自在久久 | 福利视频在线免费观看 | 永久免费的av片在线电影网 | 另类一区二区三区 | 自拍偷在线精品自拍偷无码专区 | 青青草原成人 | 福利视频观看 | 国产精品人人妻人人爽 | 久久久穴 | 99蜜桃在线观看免费视频网站 | 亚洲国产成人久久综合碰 |