关于python中序列结构,列表、元组、集合、字典的区别
列表(list)是python内置的一种数据类型,是可变的序列。在形式上,列表的所有元素都放在一对中括号“[ ]”中,两个相邻的元素间使用逗号“ , ”分割。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,并且同一个列表中,允许元素的类型不相同,因为它们之间没有任何关系。
元组(tuple)是python中的另一个数据类型,与列表类似,也是由一系列按特定顺序排列的元素组成,与列表不相同的是元组为不可变序列。在形式上,元组的所有元素都放在一对小括号“( )”中,两个相邻的元素间使用逗号“ , ”分割。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中,并且同一个元组中,允许元素的类型不相同,因为它们之间没有任何关系。通常情况下,元组用来保存程序中不可修改的内容。
元组和列表都属于序列,而且它们又都可以按照特定顺序存放一组元素,类型又不受限制,只要是python支持的类型都可以。那么他们之间有什么区别呢?列表类似于我们用铅笔在纸上写下自己喜欢的歌词,写错了还可以擦掉;元组则类似于我们用钢笔在纸上写下自己喜欢的歌词,写上了就擦不掉了,除非换一张纸重写。
列表和元组的区别主要体现在以下几个方面。 大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!
列表属于可变序列,它的元素可以随时修改和删除;而元组属于不可变序列,其中的元素不可以修改,除非整体替换。列表可以使用append( )、insert( )、extend( )、remove( )和pop( )等方法实现添加和修改列表元素;而元组则没有这几个方法,因为不能向元组中添加和修改元素,同样也不能删除元素。列表可以使用切片访问和修改列表中的元素;元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改。元组比列表的访问和处理速度快。所以如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组。列表不能作为字典的键,而元组可以。
python中的集合和数学中的集合概念比较类似,也是用于保存不重复的元素的。它有可变集合(set)和不可变集合(frozenset)两种。主要介绍set集合是无序可变序列大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。在形式上,集合的所有元素都放在一对大括号“{ }”中,两个相邻元素间使用“ ,”分割。集合最好的应用是去重,因为集合中的每一个元素都是唯一的。
字典和列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以“键值对”的形式存放的。这类相似于《新华字典》,可以把拼音和汉子关联起来。通过音节表可以快速找到想要的汉子。其中《新华字典》里的音节表相当于键(key),而对应的汉子,相当于值(value)。键是唯一的,而值可以有多个。字典在定义一个包含多个命名字段的对象时,很有用。
Python中的字典相当于Java或者C++中的map对象
字典的主要特征如下:
通过键而不是通过索引来读取 字典有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的。这样就可以通过键从字典中获取指定的项,但不能通过索引来获取。
字典是任意对象的无序集合 字典是无序的,各项是从左到右随机排序的,即保存在字典中的项没有特定的顺序,这样可以提高查找的效率。
字典是可变的,并且可以任意嵌套 字典可以在原处增长或者缩短(无须生成一份备份),并且它支持任意深度的嵌套(即它的值可以是列表或者其他的字典)
字典中的键必须唯一 不允许同一个键出现两次,如果出现两次,则前一个会被覆盖掉。
字典中的键必须不可变 字典中的键是不可以变的,所以可以使用、字符串或者元祖,但不能使用列表大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。
数据结构是否可变是否重复是否有序定义符号列表(list)可变可重复有序[ ]元组(tuple)不可变可重复有序( )字典(dict)可变可重复无序{key:value}集合(set)可变不可重复无序{ }
评论