set集合通过add(key)方法添加元素,重复添加同一个元素不会报错,但是没有任何效果:
>>> set_a.add(21) >>> print(set_a) {'a', 1, 2, 3, 'c', 'b', 21} >>> set_a.add(21) >>> print(set_a) {'a', 1, 2, 3, 'c', 'b', 21}删除set集合元素:
>>> set_a.remove('c') >>> print(set_a) {'a', 1, 2, 3, 'b', 21}在删除集合元素的时候务必要确保该元素的存在,如果删除一个不存在的元素,会报KeyError的错误:
>>> set_a = set([1,2]) >>> print(set_a) {1, 2} >>> set_a.remove(12) Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 12 >>> set_a.remove(1)set集合具备数学集合中的交、并、差集等集合运算:
>>> set_b = set([1,'d','e',4,5,'a']) >>> set_a = set([1,2,3,'a','b','c']) >>> print(set_a & set_b) #集合交集运算 {'a', 1} >>> print(set_a | set_b) #集合并集运算 {'a', 1, 2, 3, 'c', 4, 5, 'd', 'b', 'e'} >>> print(set_a - set_b) #集合差集运算 {'c', 2, 3, 'b'} >>> print(set_a ^ set_b) #求两个集合不同时存在的元素 {'c', 2, 'e', 4, 5, 'd', 3, 'b'}9、dict词典
key-value键值对,和java中的Map一样,使用{}将键值对扩起来,元素之间以“,”逗号分隔。
创建dict:
>>> dict_a = {1:'a',2:'b'} >>> print(dict_a) {1: 'a', 2: 'b'}读取dict元素:
>>> print(dict_a.get(1)) a >>> print(dict_a.get(3)) Nonedict通过get(key)方法读取key对应的value值,如果value不存在,则显示None。
添加dict元素:
通过dict_name[key] = value给dict添加元素
如果同一个key多次加入一个dict中,会覆盖掉前面的value值。
删除dict元素:
>>> dict_a.pop('a') 123 >>> print(dict_a) {1: 'a', 2: 'b'} >>> dict_a.pop('b') Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'b'通过使用pop(key)方法删除dict中的键值对,如果key不存在,则会报KeyError的错误。
遍历dict中的元素:
遍历key
>>> dict_a = {1:'a',2:'b','a':3,'b':4} >>> for key in dict_a: print(key) 1 2 a b >>> for key in dict_a.keys(): print(key) 1 2 a b上面两种遍历key的方式效果是等价的。
遍历value
>>> dict_a = {1:'a',2:'b','a':3,'b':4} >>> for value in dict_a.values(): print(value) a b 3 4同时遍历key和value
方法一:
方法二:
>>> dict_a = {1:'a',2:'b','a':3,'b':4} >>> for kv in dict_a.items(): print(kv) (1, 'a') (2, 'b') ('a', 3) ('b', 4)这种方式会将每个key-value键值对转换为一个tuple。
方法三:
>>> dict_a = {1:'a',2:'b','a':3,'b':4} >>> for (key,value) in dict_a.items(): print(str(key) + ':' + str(value)) 1:a 2:b a:3 b:4这种方式要保证key和value都是字符串类型。