一、集合
1、集合的特性
无序性:内部的元素是无序排列的
唯一性:内部的元素都是唯一的,相同的元素会去重
2、集合的创建
se={1,2,3,4,5} se=set([1,2,3,4,5]) #放入可迭代对象 se=set() #创建一个空集合 输出均为: {1,2,3,4,5}
3、集合的运算
并集:| 交集:& 差集:- 与非集:^
se1={1,2,3};se2={2,3,4} se1|se2={1,2,3,4} #并集:就是加一起去重 se1&se2={2,3} #交集:两者重复部分 se1-se2={1} #差集:se1中se2没有的部分 se1^se2={1,4} #与非集:两者补充度的部分,与交集相反
4、集合的操作方法
se.add() #添加单个元素 se.update() #添加多个元素,徐仿佛可迭代对象 se.remove() #指定移除某个元素 se.pop() #随机抛出某个元素
二、字典(唯一的映射类型)
1、字典的特点
键是惟一的,重复键会被重新复制(定义)
无序性
2、字典的创建
di={'a':123,'b':456,'c':789} #内部元素只要满足键值对形式即可 di=dict(a=123,b=456,c=789)#键的定义需符合变量命名规则
3、字典的取值和修改
di={'a':123,'b':456,'c':789} di['a'] #取值是输入键即可 di['a']=321 #可以覆盖定义,也就是修改
4、字典的操作方法
di.fromkeys(['d','e'],111)#用给定的键创建一个新的字典,每个键默认值为None(可自定义,如111) di.copy() #复制一个字典 di.clear() #清空一个字典 di={'a':123,'b':456,'c':789} di.get('f','我不在') #取出键'f'的值,若存在就返回对应的值,否则返回默认值None(可自定义,如 我不在) di.items() #查看所有的项 di.keys() #查看所有的键 di.values() #查看所有的值 若要查询其中的某一项(键,值),需要将字典转化为列表,然后通过索引查询,查询值方法也可用get,后面还有pop、setdefault等 li=list(di.items()) di.pop('d','我不在') #指定键抛出键值对,若不存在,可返回字符自定义(必须自定义) di.pop() #随机删除某一键值对(项) di.setdefault('e',222) #类似get,取键'e',若存在则返回其对于的值,否则就更新到字典,对于值得默认值为None(可自定义,如222)
di2={'a':333,'d':444}
di.update(di2) #将字典di2的内容添加、更新和覆盖到原字典di
输出:{'a':333,'b':456,'c':789,'d':444}
三、运算符
** #幂运算 + - * / % #算术运算符:加 减 乘 除 取余 < > <= >= #比较运算符:小于 大于 小于等于 大于等于 == != #比较运算符:等于 不等于 = %= /= -= += *= **= #赋值运算符:等于 取余等于 除等于 减等于 加等于 乘等于 幂等于 is is not #身份运算符:是 不是 in not in #成员运算符:在里面 不在里面 not > and > or #逻辑运算符 and(与) # 两个条件都满足返回True or(或) # 一个条件满足就返回True not(非) # 取反 举个栗子: a=1;b=2 a==1 and not b==3 #根据逻辑运算符,not优先级比and高 输出:True
四、作业
1、有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c'] 找出x列表中在y 中也有的元素
z=set(x)&set(y) 输出:{'a','b','c'}
2、新建一个字典,用3种方法往字典里面插入值;用 4 种方法取出values,用2种方法取出key
插入: di={'a':1,'b':2,'c':3} di['d']=4 di.setdefault('e',5) di2=dict(f=6);di.update(di2) 取键: li3=list(di.keys());f=li3[0] e=li1[0][0] x=di.popitem();x[0] 取值: di['a'] di.pop('a') x=di.popitem();x[1] di.get('a') di.setdefault('b') li1=list(di.items());c=li1[0][1] li2=list(di.values());d=li2[1]
3、定义我们学过的每种数据类型,并且注明,哪些是可变,哪些是不可变的
a=1 #int type(a) b=1.2 #float c=True #bool d=1+2j #复数型 关键字的查询方法: 方法一:import keyword keyword.kwlist 方法二:help('keywords') s='abc' #str s="abc" s='''abc''' 三种定义方法 li.[1,2] #list tu=(1,2) #tuple tu=1,2 se={1,2} #set di={'x':1,'y':2} #dict list和dict可变,其余都不可变,通过查看id是否可变复数型