数据类型之字典dict、set集合
1).字典dict
1. dict_1={'name':'tom','age':18} 是以键值对(key-value)的方式,其中键是可hash值的,即表示键是唯一的
2.获取字典中的值:dict_1['name'] 或者get方法,dict_1.get('name'),判断key是否在字典中,if 'age' in dict_1
3.删除其中的一个元素,pop('name') popitem()随机删除,删除所有,clear()
4.字典的copy dict_2=dict_1.copy() 或dict_2=dict_1,c_dict=dict.fromkeys([1,2,3],'OK'),返回:{1: 'OK', 2: 'OK', 3: 'OK'}
alph_num=dict(zip(['a','b','c'],[97,98,99])),zip函数是两组列表一一对应,形成键值对的方式,如果两个列表数值不一样,采用最小原则
如:a=[1,2,3,4],b=[5,6,7,8,9]
dict(zip(a,b)),返回:{1: 5, 2: 6, 3: 7, 4: 8}
5.设置默认值 setdefault,如 a_dict = {'name': 'tom', 'age': 22} a_dict.setdefault('sex','nan') 返回的是值的名字,
upddate的使用:a_dict={'name': 'tom', 'age': 22} b_dict={1: 'ben', 2: 'lll'} 返回结果为:{'name': 'tom', 'age': 22, 1: 'ben', 2: 'lll'}
6.可以用items函数,遍历取出key和value for key,values in dict.items: print(key,values)
2)集合,形式:{1,2,3,4}
2.1 在集合中元素中,无重复值,可以修改,有add,remove,update等方法,可以定义不可改变形式,frozenset({1, 2, 3, 4})
eg.a={1,2,3} a.update((2,4,5))返回:{1, 2, 3, 4, 5}
2.2集合中的运算
& 求交集
| 求并集
- 求差集
举例:
快速生成一副扑克牌
a= [str(i) for i in range(2,11)] + ['J','Q','K']
poker =[j + i for i in a for j in '*#@$']
poker +=['k1','k2']
print(poker)