1. 封装与解构
1 | a = 4 |
1 | #简单模式 |
2. 线性结构
线性结构:列表、元组、字符串、bytes、bytearray
线性结构的特点:
- 可以for… in
- 可以len()获取长度
- 可以通过下标访问
- 可以切片
- 查询的时间复杂度为O(n)
非线性结构:
set、dict
元素(dict的key)要求可以hash,查询的时间复杂度为0(1)
1 | # sequence[start:stop:step] |
3. 时间相关操作
1 | import datetime |
4. 列表解析式
[返回值 for 元素 in 可迭代对象 if 条件]
1 | print([i for i in range(10) if i > 3]) |
5. 生成器表达式
把列表解析器的[]换成() 就成为了生成器表达式,可以使用next()逐个取值。
内存占用少,计算速度“快”
1 | lst = (i for i in range(10) if i > 3) |
生成器表达式,逐行取值,延迟计算。但是如果取值超出个数则会报错。
6. 集合表达式
把列表解析器的[]换成{} 就成为了生成器表达式。快速生成一个set。
1 | {i for i in range(10) if i > 3} |
7. 字典解析式
{返回值 for 元素 in 可迭代对象 if 条件}
{k:v 生成k 和 v}
1 | {x:y for x in range(10) for y in [0]} |
1 | {x:0 for x in range(10)} |
1 | dict(zip(range(10),[0]*10)) |
1 | list(reversed('str')) |
1 | ''.join(list(reversed('str'))) |
8. 内建函数
id函数
1 | a = 'abc' |
hash函数
1 | hash(a) |
类型转换
1 | #1.字符串转列表 |
输入函数input
1 | ipt = input('请输入一个字符或者数字,默认返回一个字符串') |
打印函数
1 | print('a','b',sep='\n') |
长度计算
1 | len('acffsd '*10) |
类型确定
1 | a = 2 |
sorted(iter,[,key][,reverse])
1 | print(sorted({'c':1, 'b':2, 'a':1})) |
reversed(seq) 返回一个迭代器
enumerate(seq,start=0) 枚举
iter(iter) next(iterator) 生成一个迭代器和取迭代器里的元素
zip() 拉链函数
1 | dict1 = {'name':'pxr','age':'20'} |