2017.6.19 python 数据结构 list/tuple/dict/set

来源:互联网 发布:彩票开奖数据免费接口 编辑:程序博客网 时间:2024/06/01 10:43

list

python 内置的一种数据类型,有序的集合,可以随时添加和删除其中的元素,学习list的时候可以根据java的list集合进行学习,他们尤其相似之处
L = [1,2,3,4,5,6,7,8,9]
1.获取集合中元素的个数
length = len(L)
2.list集合有索引,索引从0开始,我们可以根据索引获取指定位置的元素,例如:
L[0]/L[1]….(在这里要注意的是,如果一个元素的长度=10,那么这个索引最后的值是9)
如果获取的索引>=length ,会抛出索引越界异常
3. 遍历集合
for i in L:
print(i)
如果想输出索引
for key,value in L.item():
print(key,value)
4.元素的操作
向集合末尾添加一个元素:L.append(10)
向指定位置添加元素:L.insert(位置,值)# 位置即索引,值就是值了
删除集合末尾元素:L.pop(参数),当不传递参数的时候,删除的是集合末尾的元素,传递参数时,删除的是指定位置的元素
替换指定位置的元素可以直接这样:L[1] = ‘张翰’;将索引为1的元素替换为张翰
集合中还可以嵌套集合[1,2,3,[4,5,6],7,8,9]

tuple

tuple和list集合非常详细,但是,一旦初始化就不能修改
T = (1,2,3,45,6,7,8,9)
没有insert和append这样的方法,可以通过T[索引值]这样的方式获取值
当tuple只有一个元素的时候,这个元素一定要用逗号结尾,如果不用逗号结尾,python会认为这不是一个tuple
一个可变的tuple
T = (1,2,3,4,[1,2,3])
T[4][0] = 5 这样可以修改tuple 的值,蛋真正修改的不是其内部存储的值,而是修改的是器内部存储的地址值所指向的内存空间的值

dict

学习dict可以模仿java中的map集合,dict中采用key-value的形式存储数据,具有极快查找的速度,元素是无序的,key值唯一不可重复
D = {‘name’:’张翰’,’age’:18,’source’:99}
获取值:D[key]/D[‘name’]
每个key只能对应一个value,多次对同一个key存值,最后一个存储的值会把前边存储的值覆盖,如果key不存在会抛出KeyError异常
dict提供了get方法,如果可以不存在,返回none,还可以返回自己指定的值
D.get(‘aaa’)# 如果key=aaa不存在,返回none
D.get(‘aaa’,1)#如果key =aaa不存在,返回1
删除一个key—>D.pop(key)
向dict中添加一个元素使用update方法

set

和dict类似,但是它只存储key,切不可重复,并唯一
通过remove(key)和add(key)操作dict

容器

容器序列:  list/tuple/collections.deque  能存放不同类型的数据  存放的使他们所包含的任意类型的对象的引用扁平序列:  str/bytes/bytearray/memoryview/array.array  只能存放单一类型的数据  存放的是值,而不是引用  是一段连续的内存空间可变序列:  list/bytearray/array.array/collections.deque/memoryview不可变序列:  tuple/str/bytes
原创粉丝点击