day06
1.set集合
1.set集合:set集合本质是一个无序的集合
set集合只存储了dict中的key
可以用set集合进行去重
2.set集合的特点:
1.set集合中元素是唯一的
2.set集合中的元素是不可变的
3.set集合的创建
1.set1=set() #创建空的set集合
2.set1={1,2,3} #创建带有元素的结合
3.set1={[]} #创建空的set集合
4.set集合的操作
1.set1.add()
向set1中添加元素
当添加的元素与set集合中的元素重复的时候,不报错,会覆盖
添加的元素必须是不可变类型的,若添加的元素是可变类型的,则会报错
2.set1.update(序列)
将序列中的元素打碎插入到set1中
使用update的时候,序列必须是可迭代对象
3.set1.remove()
删除指定的元素
4.列表的遍历
使用for循环遍历
5.求两个set集合的交集
set1 & set2
获取两个集合的交集,两个集合重叠的部分
6.求两个set集合的并集
set1 | set2
获取两个集合的并集,将两个集合合并,并去除重叠的部分
2.类型的转换:
1.set、list、tuple 三种类型可以互相转换
将dict转为set、list、tuple时,只转换了key
2.若将set、list、tuple转为dict类型的时候,要求较高,set、list、tuple里面的元素必须是元祖(列表也可以),而且元祖(列表)中的元素必须是两个。
3.列表生成式:
本质就是将for循环强制性的写在一行,把结果写在前面,然后使用[]括起来,得到的就是由结果集成的一个列表。
例: list3 = [ x*x for x in range(1,101)]
4.可迭代对象
能直接作用于for循环的对象就是可迭代对象
可迭代对象:
1. list、tuple、set、str、dict、range
2. 生成器:具有一边循环,一边计算的机制,我们称为生成器(计算出下一个)
注:生成器只能遍历一遍
生成器的优点:节省内存空间
例: list3 = ( x*x for x in range(1,101))
将列表生成式的[] 换成()就是生成器
5.迭代器
不但能用于for循环,还可以被next函数调用,不断返回下一个值,这样的我们就称为迭代器,常见的迭代器有 生成器
可以通过iter()函数,将可迭代对象转换迭代器
isinstance(object,type)判断某个对象是否属于某种对象
总结:迭代器不一定是可迭代对象,但是可迭代对象一定是迭代器
6.函数:
1.函数的定义:
def 函数名(参数列表):
函数体
return 表达式
def 关键字表示定义函数的开始
函数名 遵循标识符的命名规则
()参数列表的开始以及结束,若没有参数传递,可以不写,但是括号不可以省
:函数的功能以冒号开始,并需要缩进
return 函数结束之后的返回值 若没有返回值 return可以不写 不写的时候返回None
2.函数的调用:
函数名(参数列表)
参数列表:若此函数需要传参,则我们把参数传递进去
若此函数不需要参数,则我们不需要传参
3.参数的传递
1.形参:形式参数
定义在函数的参数列表中的参数,我们称之为形参
作用:用来接收函数调用者传递的值
2.实参:
函数调用的过程中传递的参数
作用:给形参赋值的
参数传递的本质:实参给形参的赋值过程
对于不可变类型的传递是值传递
对于不可变类型的传递是地址传递