Python,  技术学习

Python笔记二

lambda表达式 :

g = lambda x , y : x + y
# 通过lambda表达式可以构建匿名函数省去定义和命名的过程, 返回值是一个函数对象 

filter过滤器:

filter(function or None, itrtable)
filter(None, [1, 0, false, true])#返回一个对象
list(filter(None, [1, 0, false, true))#返回1, true
#filter适合与lambda表达式一起使用
list(filter(lambda x : x % 2, range(10))
#输出1~10 中的奇数, 偶数都变成了false(0)
map映射:
list(map(lambda x : x * 2, range(10)))
#输出1~10中每个元素乘二的结果

递归:

#设置递归深度: 
import sys 
sys.setrecursionlimit(x)#x为你想要定义的递归深度

字典 :

dict1 = {'kishere' : '炸鸡', '陕西科技大学' : '傻科大'}
#字典是python中唯一的键值对应结构
print(dict1(kishere))#打印出炸鸡
dict2 = dict((('a' , 97), ('b', 98), ('c', 99)))#dict()工厂函数创建字典
dict3 = dict(kishere = '炸鸡', 陕西科技大学 = '傻科大')#注意这里不能在键里加引号
dict3['kishere'] = 'god'#修改键'kishere'对应的值
dict3['PHP'] = '世界上最好的编程语言'#向dict3中添加键值对
dict1 = {} 
dict1.fromkeys((1, 2, 3))#输出{1:None, 2:None, 3:None}
dict1.fromkeys((1, 2, 3), 'number')#输出{1:number, 2:number, 3:number} 注意只能给所有键赋一样的值, 想要给多个键赋不一样的值用元组也不行.
dict1. fromkeys(range(32),'赞')
for eachkey in dict1.keys():
    print(eachkey)
#遍历打印每一个键
for eachvalue in dict1.values():
    print(eachvalue)
#遍历打印每一个值
for eachvitem in dict1.items():
    print(eachitem)
#遍历答应每一个相
dict1.get(32, 'notfind')#返回第32个值, 如果没有返回'notfind', 第二个参数如果不写, 则默认返回None
dict1.clear()#清空字典
dict2 = dict1.copy()#字典浅拷贝
dict1.pop(2)#删除键为2的键值对
dict1.setdefault('pp', 'ap')#这个方法也可以查询, 如果没有查询到就自动添加, 如果不设置添加的相的值, 就默认设置为None

集合:

set1 = {1, 2, 3, 4}#如果数据没有体现映射关系, 就会变成集合
set2 = {1, 2, 3, 4, 5, 5, 2}#集合中的数据不能重复, 否则重复的数据会被剔除
set3 = set(x)#set()是工厂函数, x可以是列表, 元组, 字符串
set1.add(6)#向集合中增加6
set1.remove(6)#向集合中删除6
num1 = frozenset([1, 2, 3])
num1.add(4)#这样是不行的, 使用了frozenset的集合不能增加删除

留言

您的电子邮箱地址不会被公开。 必填项已用*标注