set集合 函数 迭代器

1 篇文章 0 订阅
1 篇文章 0 订阅

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。

函数的调用:

函数名(参数列表)

参数列表:若此函数需要参数,则我们需要将参数传递进去,若此函数不需要参数,则我们无需传递参数

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值