python的数据结构有哪些
python的数据结构有以下4种:1. 列表list;2. 元组tuple;3. 字典dict;4. 集合set。Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。
一、列表list
list的显著特征:
列表中的每个元素都是可变的,意味着可以对每个元素进行修改和删除;
列表是有序的,每个元素的位置是确定的,可以用索引去访问每个元素;
列表中的元素可以是Python中的任何对象;
可以为任意对象就意味着元素可以是字符串、整数、元组、也可以是list等Python中的对象。
二、元组tuple
重点:元组Tuple,用法与List类似,但Tuple一经初始化,就不能修改,没有List中的append(), insert(), pop()等修改的方法,只能对元素进行查询。
三、字典dict(dictionary)
字典dictionary全称这个概念就是基于现实生活中的字典原型,生活中的使用名称-内容对数据进行构建,Python中使用键(key)-值(value)存储,也就是java、C++中的map。
dict的显著特征:
字典中的数据必须以键值对的形式出现,即k,v:
key:必须是可哈希的值,比如intmstring,float,tuple,但是,list,set,dict不行
value:任何值键不可重复,值可重复
键若重复字典中只会记该键对应的最后一个值
字典中键(key)是不可变的,何为不可变对象,不能进行修改;而值(value)是可以修改的,可以是任何对象。
在dict中是根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。
四、集合set
集合更接近数学上集合的概念。集合中每个元素都是无序的、不重复的任意对象。
可以通过集合去判断数据的从属关系,也可以通过集合把数据结构中重复的元素减掉。集合可做集合运算,可添加和删除元素。
集合内数据无序,即无法使用索引和分片
集合内部数据元素具有唯一性,可以用来排除重复数据
集合内的数据:str,int,float,tuple,冰冻集合等,即内部只能放置可哈希数据。