list,tunlp,dict,set
list
classmates = ['Michael', 'Bob', 'Tracy']
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素(可变的有序列表)。
- 删除 pop(), 默认删除末尾的元素 也可以删除指定位置的元素pop(i)
- 追加 append() ,追加元素到末尾
- insert() , classmates.insert(1, 'Jack')元素插入到指定的位置
- classmates[1] = 'Sarah' ,直接赋值给对应的索引位置
list里面的元素的数据类型也可以不同 l = ['Abc', 123, True],也可以在list中存放另一个list
tuple
classmates = ('Michael', 'Bob', 'Tracy')
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。
tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple
定义空tuple t = () , 只有一个元素的tunlp t = (1,) 必须加一个逗号消除歧义
dict
d = {'M': 95, 'B': 75, 'T': 85}
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉,如果key不存在,dict就会报错
- d['j'] = 67 可以直接添加
- d.get(i)
- d.pop('M') del pop['M'] 都是删除,删除指定key
- d.clear() 清空
dict内部存放的顺序和key放入的顺序是没有关系的。
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- key必须为不可变数据类型,必须唯一
- 无序
- 需要占用大量的内存,内存浪费多。
而list相反: - 查找和插入的时间随着元素的增加而增加;
*占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象
Set
s = set([1, 2, 3])
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key(去重)
- s.add(4) 添加元素
- s.remove(4) 删除元素