字典就是键值对应,键唯一,无序。集合用来去重,关系测试,无序。
字典这种数据类型常用的方法有:
1.clear() print(name.clear()) 清除字典中的数据,输出结果为none 2.fromkeys() print(name.fromkeys(["c","z","p"],100)) 创建字典,通过列表的方式指定多个key,并将这些key赋予相同的值 输出结果为: {‘c‘: 100, ‘z‘: 100, ‘p‘: 100} 3.get() v = dic[‘k11111‘] print(v) v = dic.get(‘k1‘,111111) print(v) 根据Key获取值,key不存在时,可以指定默认值(None) 4.pop name={ "k1":"v1", "k2":"v2" } name.pop("k1") 删除,指定删除的key,如果存在,删除,如果key不存在,报错 print(name) 输出结果: {‘k2‘: ‘v2‘} 5.popitem dic={ "k1":"v1", "k2":"v2" } print(dic.popitem()) Python 字典 popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。如果字典已经为空,却调用了此方法,就报出KeyError异常 输出结果: {‘k2‘: ‘v2‘} 6.update dic = { "k1": ‘v1‘, "k2": ‘v2‘ } dic.update({‘k1‘: ‘111111‘}) 更新 print(dic) 运行结果: {‘k1‘: ‘111111‘, ‘k2‘: ‘v2‘} 字典的for循环 for i in dic.keys(): 输出字典中所有key的值 print(i) for i in dic.values(): 输出字典中所有value的值 print(i) for k,v in dic.items(): 输出字典中所有的key对应的value值 print(k,v) 列表、元组、字典都可以通过切片的方式进行增删改查。
集合的定义方法如下:
name=set("czp") /name=set({1,2,3,4}) print(type(name)) 运行结果: {‘z‘, ‘c‘, ‘p‘} /{9, 10, 3, 5} 打印结果可以看到是元素是无序的 <class ‘set‘> 使用type()方法打印name的类型为set 通过下面这个例子 进一步说明集合是去重的 name=set("czpcc") print(name) 运行结果: {‘c‘, ‘p‘, ‘z‘} 集合的一些基本方法如下所示: 1.add():添加,仅适用于添加单个元素 s = set([3,5,9,10]) s.add("x") 添加一个元素,注意:add方法只能添加单个元素, print(s) 添加多个元素需要用update方法 运行结果: {3, 5, 9, 10, ‘x‘} 2.update():更新,适用于添加多个元素 s = set([3,5,9,10]) s.update([1,2]) 通过update方法添加多个元素,可以使用[]列表的形式,也可以使用“”,“”这种,的形式隔开添加 print(s) 运行结果: {1, 2, 3, 5, 9, 10} 3.clear():清空 s = set([3,5,9,10]) s.clear() 移除集合中的所有元素 4.copy() :深浅copy会在后面的博客中详细说。 5.pop():删除(随机删) s = set([3,5,9,10]) s.pop() pop()方法,随机删除集合中的元素,如果集合为空,程序报错 print(s) 运行结果: {10, 3, 5} 6.remove():删除(指定元素删除) s = set([3,5,9,10]) s.remove(3) 指定元素删除,如果为空或者该元素不存在,程序报错 print(s) 运行结果: {9, 10, 5} 上面提到了,集合的主要功能是去重和关系测试,对于集合的关系测试使用方法如下所示: 1.交集,可以如下两种方式表示 s = set([3,5,9,10]) v = set([3,4,9,11]) print(s&v) print(s.intersection(v)) 求两个集合的交集 运行结果是一样的: {9, 3} {9, 3} 2.并集,用如下两种方式表示 s = set([3,5,9,10]) v = set([3,4,9,11]) print(s|v) 求两个集合的并集 print(s.union(v)) 运行结果: {3, 4, 5, 9, 10, 11} {3, 4, 5, 9, 10, 11} 3.差集,用如下两种方式表示 s = set([3,5,9,10]) v = set([3,4,9,11]) print(s-v) 求两个集合的差集 print(s.difference(v)) 运行结果如下: {10, 5} {10, 5} 另外还有 issubset()-判断子集、issuperset()-判断父级等方法,返回的值为布尔值。