list:
动态集合,属于链式储存结构,擅长增删,不擅长查找,有序。
例子:
创建:l=[1,2,'s']
增:append() 该api只能将元素添加在最后一位
L.insert(引索, '要添加的信息') 添加到指定的引索位置
删:pop() 该函数有重载,当无参时默认删除最后一个元素,有参数时,参数作为集合中指定的引索位置值
也就是删除指定引索的元素
改:直接更改引用就ok,例如这样
l[521,487,94,66]
将l集合中的第二个元素改为111
代码为: l[1]=111
更多内容:https://www.runoob.com/python/python-lists.html
tuple:
属于顺序储存结构,擅长查找,不擅长修改,有序。
创建:t=(0,1,2,,"c") 建单个元素的tuple集合时记得加一个逗号,不然会被认为是算术里的优先级,这样:t=(1,)
tuple被称为只读列表,即数据可以被查询,但不能被修改,当元素作为单个变量时是不能改,但是如果元素是list时,是可以修改元素内容的。
增:常规的函数增添元素是不可能的,但是可以对两个tuple进行连接 t1=(1,2,3) t2=(4,5,6)
t=t1+t2 原理是重新申请一块空间存放t1与t2的元素。
删除:del()删除整个tuple。
详细内容:https://www.runoob.com/python/python-tuples.html
dict:
使用2种储存结构,哈希表和链式储存结构,使用哈希表存储每个键的哈希值,查找时对比哈希值,改时用链式,增删改查都快,缺点是占内存,无序。
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个会覆盖掉前一个。
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
创建:d={'a':1,'b':2,'c':3}
增:d["d"]=4
删:del d['a']
改:d['a']=5,如果键存在,则会修改值的内容,如果输入的键不存在则会添加新键值对。
查:d['a'],如果存在则会返回值的内容,如果不存在则会报错。 也可以用这个方法dict.has_key(key)
详细内容:https://www.runoob.com/python/python-dictionary.html
set:
早期的2.x版本似乎是没有set这个集合的,后来才加入的,目前我使用的2.7.14版本支持set
所以在2.7.14先创建为list[]再转换为set
特点:无序,增删和查询都较快,,唯一性。
创建:a=set[('a','b','c')] Python3之后可以直接set()不需要加方括号
增:s.add( 'x')
删:s.remove( 'x' )#不存在会报错
s.discard( x )#不存在不会报错
改:由查删增组合而成,如果存在则不需要操作,如果不存在则添加,如果想将某个指定元素修改则需要由删增组合。
查:x in s 元素s是否在s中,返回布尔值
详细内容:https://www.runoob.com/python3/python3-set.html 看的时候注意Python版本。
好了,就这样,写出来只是为了方便查询。