异步函数的结果:asyncio.run
作用说明 异步函数适合处理需要等待的任务,asyncio.run() 可以启动一个最基础的协程。 import asyncio async def greet(): return "
一边生成一边去重:集合推导式
作用说明 集合推导式可以一边生成结果,一边自动去掉重复项。 s = {x * x for x in [1, 2, 2, 3]} print(sorted(s)) 小练习 程序运行后,会输出什么? 提
按自定义标准排序:lambda key
作用说明 lambda 配合 key 可以让排序按你指定的标准来进行。 words = ["apple", "pear", "banana"
一次拆出中间一段:星号解包
作用说明 星号解包适合在拆分序列时,一次接住中间一整段内容。 a, *b, c = [1, 2, 3, 4, 5] print(b) 小练习 程序运行后,会输出什么? 提交要求:只提交最终输出结果,
只截取一小段:itertools.islice
作用说明 itertools.islice 可以从一个可迭代对象中截取你想要的一小段。 from itertools import islice print(list(islice(range(10
高效两端操作:deque
作用说明 deque 适合在序列两端进行高效操作。 from collections import deque d = deque([1, 2, 3]) d.rotate(1) print(list
字典没有值时自动准备:defaultdict
作用说明 defaultdict 可以在键还不存在时,自动帮你准备一个默认值。 from collections import defaultdict d = defaultdict(list) d
自动记住算过的结果:lru_cache
作用说明 lru_cache 可以把函数算过的结果先记住,下次再用时直接拿出来。 from functools import lru_cache @lru_cache(None) def fib(n
提前固定一部分参数:functools.partial
作用说明 functools.partial 可以先固定函数的一部分参数,得到一个更顺手的新函数。 from functools import partial base2_int = partial
进入和离开时自动处理:上下文管理器
作用说明 上下文管理器适合处理“进入时做什么、离开时做什么”的场景。 class Demo: def __enter__(self): return "start&q