- 数据结构 + 算法 = 程序
- 栈: 先进后出
- 队列: 先进先出
- Python数据类型:整型\浮点\字符串\布尔
- type(x)获取x的数据类型
- 逻辑运算: and\or\not
- Python的数据结构:列表\元组\字典\集合
- 列表追加元素: list.append()
- 列表追加列表: list.extend([...])
- 不要在遍历时改变列表结构
- 任意位置插入: x.insert()
- 尾部删除: x.pop
- 删除指定元素: x.remove()
- 清空: x.clear()
- 复制: x.copy()
- 统计元素出现个数: x.count()
- x.index()查找元素,找到返回索引,未找到返回-1
- 逆置: x.reverse()
- 排序(默认升序): x.sort()
- list是顺序结构,结合数组+队列+栈
- tuple不能修改.x = {1,2,3,4,5)
- d['a']获取,不存在时报错
- d.get('a',0)不存在时给默认值
- d['c'] = 5增加
- d.update({'c':5, 'd':8})更新
- del d['d']删除
- d.popitem()从尾部删除键值对
- d.keys()获取所有key值,返回list
- d.values()获取所有value值,返回list
- 字典也可以有序:inport collections \n ordered_dict = collections.OrderedDict(items)
- a = set([a,s,d,])
- 并集: a.union(b)
- 交集: a.intersection(b)
- c = a - b 差集(a独有)
- c = b - a 差集(b独有)
- c = a ^ b 对称差集(a ,b独有)
- a.symmetric_difference(b)
- a.symmetric_difference_update(b)
- 添加元素: a.add(20)
- 用一个列表更新集合: a.update([10, 11])
- 删除集合中的元素: a.remove(10),元素不存在时报错
- 删除集合中的元素:a.discard(10),元素不存在时不报错
- a.pop(10)移除尾部元素
- 把集合变成不能变的集合: c = frozenset(a),类似tuple与list的关系
- 两个集合判断: a == b, a != b
- a in b 是否 $\blong$ a.issubset(b), a.issuperset(b)
- a mot in b
- a.isdisjoint(b), 是否存在交集