intersection函数python_python -- 函数、集合

1、集合

集合也属于一种数据类型,类似于list,具有无序、去重的特点,即集合里没有重复的数据。

通过{}来定义集合,用set()来强制转换成集合。

1 list = [1,2,2,4,5,3,2] #定义列表

2 s_list = set(list) #强制转换为集合

3 print(s_list)4

5 s_list_2 = {1,2,3,3,4,5} #通过{}直接定义集合

6 print(s_list_2)

集合操作

set1.intersection(set2)  交集:两个集合都有

set1.union(set2)       并集:两个集合所有合并,自动去重

set1.difference(set2)    差集:两个集合,其中一个有,即集合1有,集合2没有

set3.issubset(set1)      子集:set3是否为set1的子集

set1.issuperset(set3)    父集:set1是否为set3的父集

1 set1 = {1,2,3,4,5,6}2 set2 = {2,3,4,7,8}3 set3 = {5,6}4

5 print(set1.intersection(set2)) #交集

6 print(set1.union(set2)) #并集

7 print(set1.difference(set2)) #差集,set1有,set2没有

8 print(set3.issubset(set1)) #子集,set3是否为set1子集

9 print(set1.issuperset(set3)) #父集,set1是否为set3的父集

10

11 set1.add(7) #添加元素

12 set1.update([77,66,66]) #添加元素

13 set1.remove(77) #删除元素,若不存在会报错

14 set1.pop() #随机删除元素,并返回删除的元素

15 set1.discard(2) #删除元素,若存在,则删除,不存在则不做处理

2、函数

函数是一组语句的集合, 通过函数名封装起来,用到时直接调用即可。

函数定义

定义函数用def关键字,后面跟函数名,注意函数名不能重复

1 def fun():            #定义一个函数,后面是函数名

2 print("Hello World")    #函数体

函数参数

函数的参数有形参、实参之分,形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。

因此,形参只在函数内部有效。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用

时,它们都必须有确定的值,以便把这些值传送给形参。函数调用结束返回主调用函数后则不能再使用该形参变量。

1 def plus(a,b): #a,b为形参

2 print(a+b)3 plus(2,3) #2,3为实参

形参

分为位置参数、默认参数、可变参数、关键字参数四种;

位置参数就是按照参数位置进行传参,如下面例子的a,b就是位置参数,位置参数是必传参数

默认值参数就是在定义形参时给定一个默认值,若指定默认值,则默认值参数为指定值,若未指定默认值,则按默

认值传参;

可变参数的参数是不固定的,可变参数用【*args】表示,可变参数必须在位置参数和默认值参数后面,是非必传参数

关键字参数用【**kwargs】表示,需要用关键字传参,也是非必传参数;

1 def regedit(name,sex,age=18,*args,**kwargs):2 print(name,sex,age=18,*args,**kwargs)3 regedit("bob","male","score","addr",phone="137xxxxxx")

函数返回值

函数都有返回值,若未在函数里指定返回值,则在执行完返回none,函数也可有多个返回值,并存入一个元组

函数返回值使用return,函数遇到return就立即结束

1 defplus(a,b):2 c = a +b3 returnc,a,b4 print(plus(2,3))    #返回一个元组(5, 2, 3)

3、局部变量和全局变量

局部变量只在函数内部生效,全局变量在整个程序都生效,定义爱程序最前面的都是全局变量,在函数中修改的话,需要

使用【global】关键字声明,如果是局部变量,则不需加【global】

1 name = 'marry'#字符串全局变量

2 names = []#list全局变量

3 print(name)4 print(names)5

6 deftest():7 global name #修改name的值就需要用global关键字

8 name = 'Sriba'

9 names.append(name)#修改全局变量names的值

10 returnnames11 test()调用函数12 print('修改后',name)13 print('修改后names',names)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值