数据结构:
列表的元素可变,用[] or list()创建。
元祖的元素不可变,用() or tuple()创建。
集合的元素不可重复,用{} or set()创建。
字典的存放K-V,用dict() or {} 创建。
del: 按照索引 删除数据结构元素 or 变量
===================================================
list:
list.append(x) === a[len(a):]=[x]
list.extend(L) === a[len(a):]=L
list.insert(i,x) #指定位置插入
list.remove(x)
list.pop([i])
list.index(x)
可以把列表当作堆栈使用
使用collections.deque实现队列
1 from collections import deque 2 queue = deque(["a","b","c"]) 3 queue.append("d") 4 queue.popleft()
===================================================
函数式编程工具:filter() , map() , reduce()
filter(bool_func, sequence)返回一个sequence, 包括了给定序列中所有调用bool_func(item)后返回值为true的元素。(如果可能的话,会返回相同的类型)。如果该 序列 (sequence) 是一个 string (字符串)或者 tuple (元组),返回值必定是同一类型,否则,它总是list。例如,以下程序可以计算部分素数:
1 def f(x):return x%2!=0 and x%3!=0 2 filter(f,range(2,25))
map(function, seq1,[seq2...]) 为每一个元素依次调用 function(item) 并将返回值组成一个列表返回。例如,以下程序计算立方:
1 def cube(x):return x*x*x 2 map(cube,range(1,10))
1 seq = range(8) 2 def add(x,y):return x+y 3 map(add,seq,seq) 4 #ans [0,2,4,6,8,10,12,14]
reduce(function, sequence) 返回一个单值,它是这样构造的:首先以序列的前两个元素调用函数 function,再以返回值和第三个参数调用,依次执行下去。例如,以下程序计算 1 到 10 的整数之和:
1 def add(x,y):return x+y 2 reduce(add,range(1,11))
===================================================