Python中列表和字典有啥区别,分别适用于啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中列表和字典有啥区别,分别适用于啥相关的知识,希望对你有一定的参考价值。
字典生成慢,查找快。列表生成快,查找慢。
如果是数据多,经常需要查询,务必使用字典。 参考技术A
列表
1. 任意对象的有序集合,列表是一组任意类型的值,按照一定顺序组合而成的;
2. 通过偏移读取,组成列表的值叫作元素,每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现;
3. 可变长度,异构以及任意嵌套,列表中的元素可以是任意类型,甚至是列表类型,也可以说列表可以嵌套;
4. 可变的序列,支持索引、切片、合并、删除等操作,都是在原处进行修改列表;
5.
对象引用数组,列表可以当成普通的数组,每当用到引用时,Python总是会将这个引用指向对象,所以程序无需处理对象的操作。当把一个对象赋给一个数据结构元素或变量名时,Python总是会存储对象的引用,而不是对象的拷贝。
字典
1. 字典就是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值进行存储,查找速度快;
2. 字典中的项没有特定顺序,以键为象征;
3. 可变长、异构、任意嵌套,同列表,嵌套可以包含列表和其他的字典等;
4. 属于可变映射类型,因为是无需,故不能进行序列操作,但可以在远处修改,通过键映射到值,字典是唯一内置的映射类型;
5. 字典存储的是对象引用,不是拷贝,和列表一样;字典的Key是不能变的,list不能作为Key,字符串、元组、整数等都可以。
python列表和元组的区别
List list是一种处理一组有序项目的数据结构,也就是说,您可以在一个列表中存储一系列项目。 元组是Scala语言中非常有用的容器对象。元组非常类似于列表,但是元组是不可变的。列表控件可以在四种不同的视图中显示项目,而元组适用于许多场景。List list是一种处理有序项目集的数据结构,也就是说,您可以在一个列表中存储一系列项目。列表中的项目应该用方括号括起来,这样python就知道您在指示一个列表。创建列表后,您可以添加、删除或搜索列表中的项目。由于可以添加或删除项目,所以我们说列表是可变数据类型,也就是说,这种类型是可以改变的。列表可以嵌套。元组非常类似于列表,但是元组是不可变的。也就是不能修改元组。元组由括号中逗号分隔的项定义。元组通常用于使语句或用户定义的函数能够安全地采用一组值,也就是说,所使用的元组的值不会改变。元组可以嵌套。列表控件可以在四种不同的视图中显示项目。您可以将项目分组到有或没有列标题的列中,并显示附带的图标和文本。例如,ListView控件用于将名为ListItem对象的列表项组织成以下四种不同视图之一:1 .大(标准)图标2。小图标3。清单4。“报表视图”属性确定控件使用哪个视图来显示列表中的项。比如组件[1]的列表控件,有完整的列表框、多栏下拉列表框、拆分样式等。它可以管理列表中项目的排序方法和选定项目的外观。Tuple是Scala语言中非常有用的容器对象。像列表一样,元组是不可变的;但是与列表不同,元组可以包含不同类型的元素。比如一个list只能写成List[Int]或者List[String],但是一个tuple可以同时有Int和String。元组适用于许多场景,例如,如果您需要在一个方法中返回多个对象。Java中的做法是创建一个已经包含多个返回值的JavaBean,Scala只能返回元组。而且做起来也很简单;把元组实例化需要的对象放在括号里,用逗号隔开就行了。元组实例化后,可以通过点、下划线和基于1的索引来访问其中的元素。 参考技术A首先我们需要了解的是,元组和列表属于序列,都是按照特定顺序储存的一组元素,可以将证书、实数、字符串、列表、元组、字典、集合等任何类型的内容,创建和删除的方法也是一样的。
二者的区别主要有以下几点:
1、列表是动态的,属于可变序列,元素可以增加、修改、删除,而元组是静态的,属于不可变序列,无法增加、删除、修改元素,除非整体替换。
2、列表可以使用append()、extend()、insert()、remove()和pop()等方法实现添加和修改列表元素,而元组没有这几个方法,因为不能向元组中添加和修改元素,同样,也不能删除元素,可以整体替换。
3、列表可以使用切片访问和修改列表中的元素,元组也支持切片,但它只支持通过切片访问元组中的元素,不支持修改。
4、元组比列表的访问和处理速度快,所以如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组而不使用列表。
5、因为列表可以修改,元组不可以修改,因此元组比列表具有更高的安全性。
6、列表不能作为字典的键,而元组可以。
7、存储方式不同:空列表比空元组多占用16个字节。
参考技术B 1、元组是不可变的, 而列表是可变的。2、元组通常有不同的数据类型,而列表是相同类型的数据队列。元组表示的是结构,而列表表示的是顺序。
3、不能将列表当作字典的key, 而元组可以
4、由于元组支持的操作比列表小, 所以元组会比列表稍稍快上那么一点。但是如果不是海量数据处理,这点差异基本可以忽略
以上是关于Python中列表和字典有啥区别,分别适用于啥的主要内容,如果未能解决你的问题,请参考以下文章
MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 有啥区别?各适用于啥场合?