- lambda表达式
lambda表达式—匿名函数:":"左边放原函数的参数,可以有多个参数,用逗号隔开,右边放返回值
g = lambda x,y: 2*x+1+y
g(5,6)
# 返回值为17
精简代码,只需调用一次的函数直接写,简化代码可读性
- 过滤器filter()
filter(function or None, iterable)
def odd(x):
return x%2
temp = filter(odd, [2,4,5,6])
list(temp)
filter有两个参数,第一个参数function 或 None,
将第二个可迭代数据里的每一个元素作为第一个函数的参数进行计算,把返回值为True的值筛选出来;
将第二个参数中为True的值筛选出来
- 映射函数map()
map(function, iterable)
list(map(lambda x: 2*x, range(10)))
# 返回[0,2,4,6,8,10,12,14,16,18]
将迭代器中的元素按第一个函数的规则运算,返回序列
- 列表、元组和字符串
- 列表:打了激素的数组( [] )
[x,x,x,x,x,x...] # x与x之间可以是不同类型
list = []
list.append(x) # 在末尾添加一个元素
list.extend([x,y]) # 在末尾添加另一个列表(多个元素)
list.insert(x,y) # 在任意位置x,插入元素y
# 从列表中获取元素
list[x]
# 从列表中删除元素
list.remove(x) # 从列表中删除元素x
del list(x) # 从列表中删除第x个元素
del list # 删除列表
list.pop(x) # 按位置删除并返回该元素
# 列表的切片
list[x:y:z] # 按位置[x,y)取元素
# 切片的拷贝是真正的拷贝,“=”的复制是创建一个引用
# 一些常用操作符
> < : 比大小,只比第一个元素的大小
+ :列表的拼接 “列表+列表”,不能 “列表+元素”
*: 自身复制 在列表里面复制n遍
in/ not in: “元素 in/not in 列表”
# 常用函数
list.count(1) # 统计参数在列表中出现的次数
list.index(1, start, stop)
# 返回参数在列表(start,stop)中的index
list.reverse() # 将整个列表原地翻转
list.sort(func, key, reverse)
- 元组:带上了枷锁的列表( () )
元组不能像列表一样任意修改列表中的元素,不能任意插入或者删除一个元素,元组是不可改变的
创建 同 列表
访问 同 列表
分片 同 列表
# 元组的标志新符号
temp = (1) # temp是‘int’
temp = (1,) # temp是‘tuple'
temp = 1,2,3 # temp是‘tuple’元组
temp = () # temp是‘tuple'
8 * (8) # 64
8 * (8,) # (8,8,8,8,8,8,8,8)
# 更新和删除元组
插入元素:切片+(元素,)+切片