知识点主要范围:列表list、元组tuple和dict类型
列表list和元组tuple
- 列表list用[]包围起来,里面可以是各种类型的组合;
- L[-1]表示列表L的倒数第一个元素,-2表示倒数第二个元素;
- L.append()把新元素放在列表L的末尾;
- L.insert(x, a)把a元素插在x位置之前;
- L.pop()可以删掉列表L最后的元素并返回这个元素,里面可以有参数指明位置;
- 元组tuple()用()包围起来,一旦创建完毕就不能修改了;
- tuple单个元素时要有个,在后面,不然(1)就被识别为数字1,()被识别为运算时优先级高的括号了,(1,)才对;
- tuple()如何“可变”,就是里面包含List类型元素,List里的元素可变。如果包含变量元素,变量改变了tuple也是不变的,就是在创建时取当时变量的值;
- range(x,y) 大于等于x,小于y的列表;
- 切片L[0:3]表示0,1,2位置的值,前后可以省略,代表第一个和最后一个;
- L[::2]表示每两个元素取一个值,每隔一个元素取一个值;
- 倒序切片,L[-3:-1]取倒数第三个和第二个的值;
- 集合是指包含一组元素的数据结构,str和unicode也是有序集合;
- zip()可以把两个list合并为一个,L1[‘1’,‘2’],L2[‘3’,‘4’]合并后为[(1,3),(2,4)];
dict类型
- dict是包含key:value这样组合的无需集合,d[key]可以获取key对应的value;
- len()计算集合的大小;
- 判断a是否为d的key,两种方法:if a in d或者d.get(a);
- 无序集合dict的特点:查找速度快,10个和10万个一样快。有序集合list随着元素的增加,查找速度下降;
- dict的key只能是不可变类型,list不能作为key,但是tuple可以,1,2,3等纯数字也能作为key;
- 可以直接用for … in d来遍历其value;
- set()可以去重,set([‘a’,‘b’,‘b’])打印出来是set([‘a’,‘b’]);
- 无序的不能通过索引找内容,通过in判断是否存在;
- set的特点也是查找速度快,不能包含可变对象;
- 字符串连接整数,必须把整数str()为字符串才可以;
- add、remove可以增加删除set元素,remove前要判断是否存在,不存在的remove会报错;