函数定义
# def 函数名([形参列表]):
# 函数体
def add(a, b):
return a + b
c = add(7.6, 3.9)
print(c) #11.5
排序
a = [6, 9, 23, 15, 1, 5, 34]
b = sorted(a) #sorted()函数
a.sort() #list提供的sort()方法,改变了a
print(a) #[1, 5, 6, 9, 15, 23, 34]
print(b) #[1, 5, 6, 9, 15, 23, 34]
b = sorted(a, reverse = True)
a.sort(reverse = True)
print(a) #[34, 23, 15, 9, 6, 5, 1]
print(b) #[34, 23, 15, 9, 6, 5, 1]
交换两个数的值
a = 2
b = 9
a, b = b, a #exchange
print(a, b) #9 2
线性数据结构
通常直接用列表作为数组
栈也可通过列表实现
append()
对应入栈操作pop()
对应出栈操作s = [] s.append(2) s.append(3) print(s) #[2, 3] s.pop() print(s) #[2] s.pop() print(s) #[]
collections.deque
是双向队列,支持任意端添加删除数据from collections import deque dq = deque() dq.append(1) #尾部添加元素 dq.append(2) print(dq) #deque([1, 2]) dq.appendleft(3) #首部添加元素 dq.appendleft(4) print(dq) #deque([4, 3, 1, 2]) print(dq.pop()) #弹出尾部元素 2 print(dq.popleft()) #弹出首部元素 4 print(dq) #deque([3, 1]) dq.reverse() #反转 print(dq) #deque([1, 3]) dq.clear() #清空 print(dq) #deque([])
树
树是节点和边的集合
属非线性结构
对于二叉树,设 i i 度节点的数目为
- N0+N1+N2=N N 0 + N 1 + N 2 = N
- N0⋅0+N1⋅1+N2⋅2=N−1 N 0 ⋅ 0 + N 1 ⋅ 1 + N 2 ⋅ 2 = N − 1
三种遍历方式:先序、中序、后序