Python基本数据结构之Tuple、Set、Dict
一、Tuple
Python中元组(Tuple)和列表(List)用法极为相似,最大的不同在于元组中元素创建后无法更改。
Tuple用()来表示,定义一个Tuple通常用如下方法:empty=() x_y_z=('x','y','z')。List中查询方法、切片等均适用于Tuple,但删除,添加等可以更改Tuple元素的方法均不可适用。如x_y_z.append('012')会出现错误。
Tuple的好处。
对不需要修改的数据使用Tuple则可以保证代码的安全性;
在dictionary中Tuple可以作为key,而列表则不可以;
Tuple比List可以减少内存的浪费。
二、Set
Set表示集合,集合中数据具有无序性且不能重复。
如 s=set('hello world'),那么事实上集合s中只有8个元素,可以用len(s)计算集合中元素个数。
集合中常见操作.
并集. s=s1|s2, item in s1 or s2
交集. s=s1&s2, item in s1 and s2
差集. s=s1-s2, item in s1 and not in s2
对称差. s=s1^s2, item in s1 or s2 but not both
添加、删除元素.
s.add(item)向集合中添加一个元素,而s.update([items])则向集合中添加多个元素。
s.remove(item)代表删除元素item。
判断关系的方法.
in来判断元素是否在集合中,如 2 in set([1,2,3])返回True;
s1.issubset(s2)判断s1是否是s2的子集;s1.issuperset(s2)则相反。
注意:frozenset为不可改更集合。
三、Dict
字典Dict是Python中一个极为重要的数据结构。字典中元素是无序的(但依然可以依照关键字进行排序)。
Dict的创建。
dict1 = {} 或者 dict2 = dict()创建空字典;可以用列表、元组等创建,dict3=dict([('a',1),('b',2)]);
可以创建时初始化,dict4={'a':1,'b':2} 或dict5=dict(a=1,b=2)。
Dict常用操作方法。
keys(),values()和items()很常用。
如dict1={'a':1,'b':2},dict1.keys()返回 ['a','b'];
dict1.values()返回[1,2];
dict1.items()返回[('a',1),('b',2)]。
查询item的值直接用dict[item]即可。
两个字典合并用update()函数,dict1.update(dict2);删除元素用del。