关于python中序列结构,列表、元组、集合、字典的区别

您所在的位置:网站首页 元素和集合的区别是什么 关于python中序列结构,列表、元组、集合、字典的区别

关于python中序列结构,列表、元组、集合、字典的区别

#关于python中序列结构,列表、元组、集合、字典的区别| 来源: 网络整理| 查看: 265

关于python中序列结构,列表、元组、集合、字典的区别 列表(list)元组(tuple)元组与列表的区别 集合(set)字典(dict)列表、元组、字典和集合的区别表格

列表(list)

列表(list)是python内置的一种数据类型,是可变的序列。在形式上,列表的所有元素都放在一对中括号“[ ]”中,两个相邻的元素间使用逗号“ , ”分割。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,并且同一个列表中,允许元素的类型不相同,因为它们之间没有任何关系。

元组(tuple)

元组(tuple)是python中的另一个数据类型,与列表类似,也是由一系列按特定顺序排列的元素组成,与列表不相同的是元组为不可变序列。在形式上,元组的所有元素都放在一对小括号“( )”中,两个相邻的元素间使用逗号“ , ”分割。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中,并且同一个元组中,允许元素的类型不相同,因为它们之间没有任何关系。通常情况下,元组用来保存程序中不可修改的内容。

元组与列表的区别

元组和列表都属于序列,而且它们又都可以按照特定顺序存放一组元素,类型又不受限制,只要是python支持的类型都可以。那么他们之间有什么区别呢?列表类似于我们用铅笔在纸上写下自己喜欢的歌词,写错了还可以擦掉;元组则类似于我们用钢笔在纸上写下自己喜欢的歌词,写上了就擦不掉了,除非换一张纸重写。

列表和元组的区别主要体现在以下几个方面。

列表属于可变序列,它的元素可以随时修改和删除;而元组属于不可变序列,其中的元素不可以修改,除非整体替换。列表可以使用append( )、insert( )、extend( )、remove( )和pop( )等方法实现添加和修改列表元素;而元组则没有这几个方法,因为不能向元组中添加和修改元素,同样也不能删除元素。列表可以使用切片访问和修改列表中的元素;元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改。元组比列表的访问和处理速度快。所以如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组。列表不能作为字典的键,而元组可以。 集合(set)

python中的集合和数学中的集合概念比较类似,也是用于保存不重复的元素的。它有可变集合(set)和不可变集合(frozenset)两种。主要介绍set集合是无序可变序列。在形式上,集合的所有元素都放在一对大括号“{ }”中,两个相邻元素间使用“ ,”分割。集合最好的应用是去重,因为集合中的每一个元素都是唯一的。

#setname = {element 1,element 2,,element 3,...,element n} #其中,setname表示集合的名称,可以是任意符合python命名规则的标识符;element 1,element 2,,element 3,,element n表示集合中的元素,个数没有限制,并且只要是python支持的数据类型就可以 set1 = {'苹果','香蕉','橙子','桃子'} print(set1) #set2 = {'苹果','香蕉','橙子','桃子'} set2 = {'黑色','蓝色','白色','黑色'} print(set2) #set2 = {'黑色','蓝色','白色','黑色'} 如果有重复元素,python会自动保留一个 set3 = {'python',777663,('德玛西亚','诺克萨斯')} print(set3) #{('德玛西亚', '诺克萨斯'), 'python', 777663} 列表('德玛西亚', '诺克萨斯')是集合set3中的一个元素 字典(dict)

字典和列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以“键值对”的形式存放的。这类相似于《新华字典》,可以把拼音和汉子关联起来。通过音节表可以快速找到想要的汉子。其中《新华字典》里的音节表相当于键(key),而对应的汉子,相当于值(value)。键是唯一的,而值可以有多个。字典在定义一个包含多个命名字段的对象时,很有用。

Python中的字典相当于Java或者C++中的map对象

字典的主要特征如下:

通过键而不是通过索引来读取 字典有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的。这样就可以通过键从字典中获取指定的项,但不能通过索引来获取。

字典是任意对象的无序集合 字典是无序的,各项是从左到右随机排序的,即保存在字典中的项没有特定的顺序,这样可以提高查找的效率。

字典是可变的,并且可以任意嵌套 字典可以在原处增长或者缩短(无须生成一份备份),并且它支持任意深度的嵌套(即它的值可以是列表或者其他的字典)

字典中的键必须唯一 不允许同一个键出现两次,如果出现两次,则前一个会被覆盖掉。

字典中的键必须不可变 字典中的键是不可以变的,所以可以使用、字符串或者元祖,但不能使用列表。

列表、元组、字典和集合的区别表格 数据结构是否可变是否重复是否有序定义符号列表(list)可变可重复有序[ ]元组(tuple)不可变可重复有序( )字典(dict)可变可重复无序{key:value}集合(set)可变不可重复无序{ }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3