Python基础中元组、列表、字典、字符串、集合的总结
一、比较内容:
Python基础中重要的数据类型有元组、列表、字典、字符串和集合,将从以下几个方面进行比较和总结:
1、是否支持边界检查
2、索引方法和特点
3、哪些支持迭代协议
4、元素的访问特点,是顺序的还是无序的
5、哪些是可变的哪些是不可变的
6、哪些支持多层嵌套
一、元组(tuple)
1、特性:不可变的数据序列。是有序的
2、创建:一对圆括号"()"。
支持多层嵌套、若元组中的元素只有一个,要在元素后加上“,”
3、访问:元组名[index],index为索引,索引从0开始、可以进行切片方法索引。
4、迭代:可用for循环遍历元组
5、求长:len(元组名)
6、打印:print(元组名)
7、类型:type(元组名)
8、删除:del 元组名,删除元组,再访问会报错
二、列表(list)
1、特性:可变的数据序列。是有序的。(区别于元组,可以动态增加、删除、更新)
2、创建:一对方括号"[]"。支持多层嵌套。
3、访问、遍历、求长、打印、类型(list)等同元组
4、更新:给列表中的元素重新赋值,不可给列表中不存在是元素赋值。
5、增加(插入):
1、append:向列表末尾添加一个元素
2、extend:向列表末尾添加多个元素。不能为int型,但可为字符串'12'
3、insert(index,object):index为索引,向索引位置加入object这个元素
6、删除:
1、del: del L[index]删除指定元素;del L删除整个列表,再次访问会报错
2、pop:删除指定位置的元素并返回删除的元素,默认删除最后一个。
7、常用方法:
1、L.append(value):向列表末尾插入一个元素
2、L.insert(index,value):向列表的index位置插入一个元素value。
3、L.pop(index):从列表中删除指定位置index的元素并返回元素值,默认删除最后一个元素。
4、L.remove(value):删除元素中第一次出现的元素value。
5、L.count(value):返回元素value在列表中出现的次数
6、L.index(value):返回第一次出现的位置,无则抛异常
7、L.extend(list/tuple/string):向列表末尾插入多个元素。
8、L.sort():排序
9、L.reverse():倒序
三、字典(dict)
1、索引为键(key),对应的值为键值(value)。可变无序的
2、创建:一对花括号"{key:value}"。键是唯一的,字典只认最后一个赋的键值。
3、访问:dic[key],获得对应的键值。
4、常用的方法和操作:
1、D.get(key,defaultValue):获得key对应的值,若key不存在,则返回设置的默认值defaultValue,若没有设置默认值则返回None.
2、D.has_key(key):检查字典中农是否存在键key,有该键则返回true,否则返回False。
3、D.keys():返回字典中多有键构成的列表
4、D.values():返回由字典所有值构成的列表
5、D.items():返回由字典所有键值对构成的列表
6、D.update(dic2):将字典dic2中的元素合并到字典D中。
7、D.pop():删除指定给定的键对应的值,返回这个值并从字典中移除。注意字典pop()方法与列表pop()方法作用完全不同。
8、D.popitem():随机删除字典中的一个键值对 (一项),并返回值。若字典为空则抛出异常。
9、D.clear():清空字典中的元素并返回None
10、D.pop(key):删除指定键所对应的项,并返回key对应的值。key不能为空,也不默认删除排在最后的元素,因为字典是无序的,注意和列表的区别。
11、D.copy():拷贝字典,两个字典不是同一个字典
12、cmp(dict1,dict2):比较字典(优先级为元素的个数,键大小,键值大小),第一个大则返回1,第一个小则返回-1,一样大则返回0.
四、字符串(string)
1、特性:有序、不可变的字符序列、若想修改可先转为列表,修改后再转为字符串
2、访问:与访问元组或列表中的元素的一样的、可用切片法、不可多层嵌套
3、除了不能修改,可以把字符串当成列表一样处理
五、集合(set)
1、特性:无序、可变、不重复的集合
2、创建:s=set(list or tuple or string).重复值在集合中只存在一个元素