python 常用数据结构
变量:
python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被
创建。在 python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量name = "runoob" # 字 符 串多个变量赋值:
Python 允许同时为多个变量进行赋值: a = b = c = 1
a, b, c = 1, 2, "runoob"
列表:
- 序列是Python 中最基本的数据结构,,第一个索引是 0,第二个索引是 1,依此类推。
- 同一个列表中的数据类型可以不一样
如:list1 = [‘Google‘, ‘Runoob‘, 1997, 2000];
操作:索引,切片,增、删、改、查; 切片操作语句:
print ("list1[1:5]: ", list1[1:5])
增主要有三个方法:append、insert、extend append: 在尾部添加一个新的数据insert(index,obj):在指定位置插入元素
extend():所插入的数据必须用[]括起来、迭代添加;添加到列表最后面删
主要方法:remove、pop、del、clear
remove:删除指定元素, 必须知道所删除的元素存在列表里,否则报错
pop: 删除对应索引的元素,并返回该元素
del:del list[start_index : end_index] / del list[index] clear:清空列表
查:可以通过for 循环迭代查找
Python3 中的列表可以进行+,*运算
元组:
Python 的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号, 列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可操作:创建、删、改、查
改:元组无法进行数据的修改
删:tuple 元组中的元素值是不允许删除的,但我们可以使用 del 语句来删除整个元组
字典
字典,在python 中就相当于一个容器,里面存储的是一个个的"键值对"。字典类似于Java 的容器map,都存储的是键值对。
字典特征: 字典是无序的
速度快,内部使用二分查找的方式
Key 采用 hash 存储,当出现同一个key 值会把之前的覆盖掉
key-value 键-值对,value 可以是任意的数据类型
字典,不支持索引和切片,但可通过key 值查询values 值,key 值唯一
字典的操作:修改、增加、删除、查询查询
- 通过for 循环迭代访问
- dict.get(key, default=None):返回指定键的值,如果值不在字典中返回default 值
- dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
删除
clear:清空字典重点的元素pop :根据键值删除popitem :随机删除一个
迭代字典中的元素方式
dict.iterkeys():迭代 key
dict. itervalues():迭代 value dict. items():迭代 key,value
dict. iteritems();迭代 Key,value
集 合 特征:
集合是一个无序不重复元素的集
集合对象还支持 union(联合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算
集合是不重复的,可以对字符串、列表、元组进行去重操作
set 集合类需要的参数必须是迭代器类型集合的操作:增、删
增加:
Add: 要传入的元素作为一个整体添加到集合中
update()方法:是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符。可以一次添加多个值
删除
Remove: 如果元素不存在,则会发生错误Discard: 如果元素不存在,不会发生错误Pop:随机删除元素
Clear:清空元素
不可变集合frozenset: 不像set 集合,可以增加删除集合中的元素,该集合中的内容是不可改变的,类似于字符串、元组。