python学习日记——集合与函数
集合
集合(set)是一个无序的不重复元素序列。添加重复元素时会自动去重。
特点:去重、无序、元素必须为不可变类型(类似于字典中的key)
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
支持 in 和 not in 操作
字符串转集合
s=set("hello") print(s) 输出为{'h','l','e','o'}
#集合的内置方法
s=set(["tester","dev","ops","tester"])
#增
s.add("dev1")
s.copy()
#删
# s.clear()
s.pop() #随机删
s.remove("dev") #指定元素删,删掉元素不存在会报错
s.discard("dev") #指定元素删,删掉元素不存在不会会报错
#查
for i in s:
print(i)
#集合中关系运算
s1={"tester","dev","ops","tester"}
s2={"dev","ops2"}
cha=s1-s2
bing=s1|s2
jiao=s1&s2
bu1=s1^s2
bu2=bing-jiao
print(bing)
print(jiao)
print(bu1)
print(bu2)
函数
python中的函数
1.函数的定义&运行,注意带括号与不带括号的区别
def phone_num():
prelist = ["130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "153",
"155", "156", "157", "158", "159", "186", "187", "188"]
print('我执行了')
weihao = ""
for i in range(8):
weihao=weihao+str(random.choice("0123456789"))
return random.choice(prelist) + weihao
print(phone_num)
print(phone_num())
2.函数中变量的作用域
(1)局部变量
name = "tester"
def change_name():
name="dev"
print(name)
change_name()
print(name)
(2)全局变量(实际开发中不建议使用)
name = "tester"
def change_name():
global name
name="dev"
print(name)
change_name()
print(name)
3.*arg与**kwarg
接受列表与接受字典
4.递归
5.匿名函数(lambda表达式)
与普通函数的联系及使用场景
6.filter、map、reduce
filter功能:filter主要作用是过滤掉序列中不符合函数条件的元素,当序列中要删、减元素时,可以使用filter函数。
map功能:map主要作用是求一个序列或者多个序列进行函数映射之后的值。
reduce功能:reduce是对一个序列进行压缩运算,得到一个值。
7.即兴发挥:sort、sorted、time等函数