set 集合
本质:
是一个无序的集合,但是只存储了字典中的key,没有存储字典中的value。
set集合中的元素与字典中的key的元素有共同的特征:
1.set集合中元素也是唯一的
2.set集合中的元素也是不可变的
创建set集合:
set1 = {}
set2 = set() 创建一个空的set集合
set2 = {1,2,3} 创建具有元素的set集合
set2 = set(【】)
set.add(ele)
功能:向set集合中添加元素,注意当添加的元素与set集合中的元素出现重复的时候,不会有任何效果,但是并不报错。
注意:添加的元素必须是不可变的类型,如可变类型会报错。
set.update(序列 )
功能:将序列中的元素打碎插入到set中
注意:使用update函数的时候,其参数一定是序列
set.remove(ele)
功能:将指定的元素删除
set集合的遍历
for x in set:
print(x)
交集与并集:& |
集合之间的相互转换
list tuple set dict
1.将其他类型转为list list1= list()
字典转换成list的时候,只转换了key,不转换value
2.将其他类型转换为tuple tuple1 = tuple()
字典转换成tuple的时候,只转换了key,不转换value
3.将其他类型转换为set set1 = set()
字典转换成set的时候,只转换了key,不转换value
4.将其他类型转为dict
列表/元组转为字典的时候,必须是二维列表或者二维元组,并且里面的元素要求是两个,成对存在的。
结论: list set tuple 这三种类型可以随意互相转换
5.dict 转 list set tuple 时候 只转了key
list set tuple 转为 dict 的时候,对list/set/tuple要求会高一些,要求这里面的元素必须是元组或者列表,并且里面含有的元素必须是两个。
列表生成式:
将for循环强制性写在一行,把结果写在for循环前面 list 【x*x for x in range(1,101) if x%3】
可迭代对象:
能直接作用于for循环的对象我们统称为可迭代对象
常见的可迭代对象有:
1.list tuple dict set range str
2.生成器:一边循环 一边计算的这种机制我们称之为生成器,可以不断推算出下一个元素
注意:只能迭代一次
生成器优点:节省内存空间
创建生成器:
列表生成式:
list1 = 【result for x in range(m,n)】
生成器:将列表生成式的中括号改为小括号
g1 = (result for x in range(m,n))
迭代器
不但能够作用于for循环,还能被next函数不断调用,返回下一个值
isinstance(obj,type) 判断某个对象是否某个类型
常见的只有生成器是迭代器,可以通过iter()函数将可迭代对象转为迭代器
总结:迭代器与可迭代对象的关系
迭代器一定是可迭代对象,可迭代对象不一定是迭代器。
函数:
在项目开发过程中,某些功能代码可能需要经常使用,我们可以按照其功能将其封装成函数,需要的时候调用即可
优点:
1.提高代码的复用性,简化代码结构
2.增加代码的可维护性
函数的定义:
def 函数名(参数列表):
函数体
return 表达式
def 关键字标识定义的开始
函数名 遵循标识符的命名规则
() 列表参数的开始以及结束,无论是否有参数,小括号都不能省略
参数列表:参数与参数之间使用逗号隔开,若不存在参数可不写
:函数的功能以冒号开始,并且需要缩进
函数体:封装的函数的功能
return:函数结束之后的返回值,若没有返回值,return可不写,不写的时候默认 return None。
函数的调用:
函数名(参数列表)
参数列表:若此函数需要参数,则我们需要将参数传递进去,若此函数不需要参数,则我们无需传递参数