Python 数据结构
List 列表
Method 方法
- append(v) 在列表添加元素
- extend(L) 扩展列表 参数为列表
- insert(i,v) 在指定的索引插入元素
- remove(item) 删除指定元素
- pop(i) 移除指定索引元素并返回
- count(item) 返回指定元素的个数
- sort() 排序
- reverse() 排序反转
- clear() 清除元素 == del list[:]
List 可以当作栈和队列使用
列表推导式
vec = [2, 4, 6]
vec2 = [x * 2 for x in vec] # vec2 = [4,8,12]
# 4*3 -》 3*4
matrix = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
translate = [[row[i] for row in matrix] for i in range(4)]
print(translate)
元组
t = 1000,2000,'Hello'
u = t ,(1,2,3)
print(t,u,sep="$")
集合
集合是无序的 创建空集合用 set()
集合运算 差 并 交 异或
- 差 a - b 取出 a不包含b的元素
- 并 a | b 取出a和b的元素
- 交 a & b 取a和b的交集
- a ^ b 取出a不包含b的和b的不包含a的元素
集合推导式
形如 a = {x for in ‘abcdefg’}
字典
字典元素由一对对键值对组成 键为不可变类型 如数字类型和字符串
遍历
获取元素和索引
for k, v in dict_b.items():
print(k, v, sep="&")
调用enumerate(v)函数
for k, v in enumerate(['Morning', "Afternoon", "Night"]):
print(k, v, sep="%")
* 遍历多个用zip(…)函数*
questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
print("What is your {0}.it is {1}".format(q, a))
模块
模块的导入
- import module.. 最后一个必须为包或者模块不能是其他的
- from module import item item 可以为包,模块,函数类
- dir(module)函数可以查看当前模块定义的名称
模块
每个模块都有name属性,用来判断当前模块是自身运行还是被调用
if __name__ == '__main__':
print("程序自己在运行")
else:
print("其他程序调用了我")