Python:集合函数三元运算符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:集合函数三元运算符相关的知识,希望对你有一定的参考价值。
集合:
#一种数据类型,有去重的功能,无序的(不能根据下标取值)
两种定义集合方法:
1:先定义一个列表,然后通过强制类型转换成集合
a=[1,2,3,4,4,5] #set(a) 强制类型把列表a转换为集合,会把重复的值4去重
2:S={1,2,3,4} #与字典要区别开
集合的操作:
list1 = {1, 2, 3, 4, 5, 6, 9}
list2 = {2, 3, 4, 6, 1}
list3 = {1, 2, 3}
print(list1.intersection(list2)) # 取交集,也就是取list1和list2中都有的
print(list1 & list2)# 取交集
print(list1.union(list2)) # 取并集,也就是把list1和list2合并了,然后去除重复的
print(list1 | list2)# 取并集
print(list1.difference(list2)) #取差集 在list中存在,在list2中没有的
print(list1 - list2) #取差集
print(list3.issubset(list1))#判断list3是不是list1的子集
print(list1.issuperset(list3))#判断list1是不是list3的父集
print(list1.isdisjoint(list3))#判断list1和list3是否有交集
print(list1.symmetric_difference(list2))#对称差集,输出两个列表中互相都没有的值,也就是把两个集合中相同的去掉
print(list1 ^ list2) #取对称差集
list1.add(888)#添加元素
list1.update([777,666,666])
list1.remove(777)#删除元素,如果元素不存在会报错
list1.pop()#删除一个随机的元素,并返回删除的元素
list1.discard(‘dddd‘)#如果删除的元素存在,删除,不存在不做处理
三元运算符:
语法1:a=值1 if 条件 else 值2 #如果if条件成立,a=值1,否则,a=值2
语法2:nums = [1,2,3,4,5,6,7,8,9,10]
odd_num = [num for num in nums if num%2!=0 ]#循环nums,如果nums里面的值,不能被2整除的话,就写到odd_num这个list中,也就是算奇数,等于下面这么写
odd_num = []
for num in nums:
if num % 2 !=0:
odd_num.append(num)
函数(又叫方法):
将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。
定义函数:
def my_open(): #定义一个my_open的函数,要带冒号
调用函数:
My_open() #函数名加括号即调用此函数,函数不调用就不会执行
函数必填参数:
def read_users(file_name,age): #定义函数时,括号里是形参(即变量);多个参数用逗号隔开,这种又叫必填参数或位置参数
read_users(‘a.txt’,20) #调用函数时,括号里是实参,是实际的参数;多个参数用逗号隔开
函数默认值参数:
def read_users(name,sex=’nan’): #sex是默认值参数
read_users(‘hn’) #调用时如果不填sex对应的实参,就默认是‘nan’
read_users(‘hn’,’nv’) #调用时如果填sex对应的实参,就取实参的值
函数可变参数:
def post(*args): #也叫参数组(习惯性写args,也可以写其他变量),数量不固定,不是必填的,接收的是一个元组,它把调用函数时传进去的参数放到一个元组里
函数关键字参数:
也不是必填参数,可以为空
def kw(**kwargs) #两个星号,接收的是一个字典
kw(name=’hn’,age=20) #调用时实参要写关键字,括号里可以直接填字典变量,但要加上**,比如(dic={‘ name’=’hn’,’age’=20}) kw(**dic)
参数的顺序:
按照必填参数、默认值参数、可变参数、关键字参数的顺序接收参数,否则会报错,例:def other(name,country=’china’,*args,**kwargs)
调用函数时使用关键字参数:
如果定义函数时,必填参数太多,在调用函数时,可以用key=value形式传实参,这种实参可以无序。例:定义函数:def write(filename,model,user,os): 调用:write(‘a.txt’,user=’hn’,os=’windows’,model=’hhh’) #调用函数传实参时,必填参数必须在关键字参数前面
函数返回值:
用return a #函数碰到return立即结束函数;调用完函数之后会返回一个结果
没有返回值的函数,默认返回None
返回多个值:
return a,b,c #用逗号隔开,返回的多个值会放到元组里
局部变量和全局变量:
局部变量:在函数里面定义的变量叫局部变量,只能在函数里面用
全局变量:在函数外定义的变量,是全局变量,在函数内也能使用
在函数里改全局变量:
(int、string类型):用global声明
用global声明一下,即global a a=100这样全局变量a的值就变了,如果不用global声明,a的值只是在函数里变了,出了函数a的值还是函数体之前的值
List dic 类型:就不用global声明,在函数里改变值,出了函数值也变化了。如果用global声明,会报错。
补充:
1:变量给变量赋值,赋的是内存地址,举例:def a(): a=b 那么b()即调用了这个a函数
2:import os
os.system #用来执行操作系统命令
3:import time
time.sleep(60) #休息60秒再运行
4:linux重定向:把一个文件里面的内容,复制到另一个文件里
以上是关于Python:集合函数三元运算符的主要内容,如果未能解决你的问题,请参考以下文章