集合 set 无序性 唯一性(不重复)可变
创建:
se=set() #注意:创建空的集合要用set(),se={} 创建的字典
se = set('abc') =》{'a', 'b', 'c'} #参数是需要可迭代对象
se = set([1,2]) =》{1, 2} # 可以理解列表为转换为集合set
se =set((1,2)) =>{1, 2}
se ={1,2,2,3} ==>>{1, 2, 3} #注意唯一性
se = {1,[2,3]} #error 不能是可变类型,违背唯一性,可以是字符串或者元组
se = set([1,[2,3]]) #error
se = set([1,'abc']) => {1, 'abc'}
se = set([1,(2,3)]) =>{1, (2, 3)}
集合的运算
se1 = {1,2,3,4}
se2 = {3,4,5,6}
并集
se1 | se2 => {1, 2, 3, 4, 5, 6} #去重,将2个集合合并
交集
se1 & se2 => {3, 4} #取2个集合重复的部分
差集
se1 - se2 => {1, 2} #前一个集合去除2集合中重复的部分
se2 - se1 => {5, 6}
与非集
se1^se2 => {1, 2, 5, 6} #取2集合各自独有部分合在一起
集合set的常用方法
se1.add('abc') =>{1, (2, 3), 'abc'} #不可变,字符串,元组都可以作为参数
se1.add([1,2]) #error ,不能是可变的
se.clear() #清除集合数据
se.update() #添加多个元素,注意与上面add方法区别,add作为整体加到集合中,而update则元素迭代加进去;
se.update([1,2]) => {1, 2}
se.update('abc') => {1, 2, 'a', 'c', 'b'}
se.update((3,4)) => {1, 2, 3, 4, 'a', 'c', 'b'}
se.remove(3) #指定元素值移除
se.pop() #随机弹出
集合取值,转成列表
li = list(se)
字典 dict key:唯一性,无序性,可变,重复会被重新赋值
定义
dic1=dict(name='llp') =》{'name': 'llp'} #name要符合变量命名规则,括号里赋值方式,名字=对象,不要引号
dic = {'name':'llp','age':18,'sex':'boy'}
字典取值,修改
dic['name'] =>'llp' #利用键取对应值
dic['age']=21 #利用重复会覆盖旧值性达到修改作用;
dic['school']='hunanxuexiao' #dic[key]=value #key存在则修改值,没有则添加
字典方法
di.fromkeys(['a','b','c']) #用给定的键建立新的字典
dic.get('name') #取值,键存在则返回对应值
dic.get('school') #如果不存在,默认返回none,可以自定义
dic.get('school','没有这个属性') =》 '没有这个属性'
dic.items() #查看字典中的每一项
dic.keys() #查看字典中的每一个键
dic.values() #查看字典中每一个值
可以通过转换为列表list()来获取每一项内容
dic.pop('school') #指定键弹出对应的值
dic.popitem() #随机弹出某一项,没内容了还弹就会报错KeyError
dic.setdefault('a',23) #类似get,如果键存在,返回对应值,不存在则更新
dic1 = {'a':1,'c':666}
dic2 = {'a':0,'b':998}
dic2.update(dic1) => {'a': 1, 'b': 998, 'c': 666} #将一个字典的内容添加到另一个字典,旧的值被覆盖;
-------------------》》》》》》》------------------------------------》》》》》》》》
1.有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c'] 找出x列表中在y 中也有的元素
x = [1,2,3,'a','b','c']
y = ['a','b','c']
se1 = set(x)
se2 = set(y)
print(se1 & se2)
2.新建一个字典,用3种方法往字典里面插入值;用 4 种方法取出values,用2种方法取出key
插入值:
dic = dict(name = 'llp')
dic['sex'] = 'boy' #有指定的键则修改,没有则增加对应键值
dic.setdefault('age',18) #
dic.update({'school':'xuexiao'})
取出values###
1.values方法
lis = list(dic.values())
print(lis[:])
2.get方法 取值,键存在则返回对应值,如果不存在,默认返回none,可以自定义
lis2 = []
lis2.append(dic.get('name'))
lis2.append(dic.get('sex'))
lis2.append(dic.get('age'))
lis2.append(dic.get('school'))
print(lis2)
lis3 = list([dic.get('name'),dic.get('sex'),dic.get('age'),dic.get('school')])
print(lis3)
3.setdefault方法 类似get,如果键存在,返回对应值,不存在则更新
lis4 = list([dic.setdefault('name'),dic.setdefault('sex'),dic.setdefault('age'),dic.setdefault('school')])
print(lis4)
4. 利用key
lis5 = list([dic['name'],dic['sex'],dic['age'],dic['school']])
print(lis5)
取出key##
print(list(dic)) #将字典转换为list,则每个元素就是key
print(list(dic.keys()))
list(di.items())[0][0]
3.定义我们学过的每种数据类型,并且注明,哪些是可变,哪些是不可变的.
数值类型:int float bool complex
s=str() #字符串
lis = list() #列表
tu =tuple() #元组
se = set() #集合
dic = dict() #字典