1.lambda定义行内函数
f=lambda x: x+2 #定义函数f(x)= x+2
g=lambda x,y:x+y #定义函数g(x,y)=x+y
2.数据结构
(1)列表和元组
列表方括号:a=[1,2,3] 元组圆括号b=(4,5,6) 。下标从0开始。
注意:列表可修改,元组不可修改。
复制列表:
b=a[:]
列表和元组的相关函数:
cmp(a,b):比较元素
len(a):返回列表元素个数
max(a):返回最大值
min(a):最小值
sum(a):求和
sorted(a):升序排序
列表方法:
a.append(1):将1添加到列表末尾
a.count(1):统计列表出现1的次数
a.extend([1,2]):将列表[1,2]的内容加到列表a末尾
a.index(1):从列表中找出第一个1的索引位置
a.insert(2,1):将1插入列表a的索引为2的位置
a.pop(1):移除列表中索引为1的元素
列表解析:
a=[1,2,3]
b=[]
for i in a:
b.append(i+2)
可以简化到
a=[1,2,3]
b=[i+2 for i in a]
(2)字典
d={'today':20,'tomorrow':31}
d['today'] #值为20
其他创建字典的方法:
dict([['today',20],['tomorrow',31]])
dict.fromkeys(['today',tomorrow],20)
(3)集合
**注意:1.集合中的元素不重复,而且是无序的
2.不能索引**
创建集合:
s={1,2,2,3} #2会自动去重,得到{1,2,3}
s=set{[1,2,3]}
集合运算:
a=t|s #t和s的并集
b=t&s #交集
c=t-s #差集
d=t^s #对称差集(项在t或s中,但不会同时出现在二者中)
(4)函数式编程
lambda(), map() , reduce(), filter()
01.map():
a=[1,2,3]
b=map(lambda x:x+2,a)
b=list(b) #结果是[3,4,5]
02.reduce(): map用于逐一遍历,reduce用于递归计算。
reduce(lambda x,y:x*y,range(1,n+1))
相当于:
s=1
for i in range (1,n+1):
s=s*i
filter(): 过滤器,筛选出列表中符合条件的元素。
b=filter(lambda x:x>5 and x<8,range(10))
b=list(b) #结果为[6,7]
2.导入库
(1) import math
math.sin(1)
(2) 起别名
import math as m
m.sin(1)
(3)导入部分函数
from math import exp as e
e(1)
sin(1) #出错,因为没被导入
(4)直接导入库中所以函数
from math import *
exp(1) #容易引起命名冲突
(5)导入future特征维持兼容性
from future import print_funtion
from future import division