常用内置与标准库
常用内置
len([1, 2, 3]) # 3
sum([1, 2, 3]) # 6
min(1, 2, 3) # 1
max(1, 2, 3) # 3
sorted([3, 1, 2]) # [1, 2, 3]
list(enumerate(["a", "b"])) # [(0, 'a'), (1, 'b')]
list(zip([1, 2], ["a", "b"])) # [(1, 'a'), (2, 'b')]
any([False, True]) # True
all([True, True]) # True
isinstance(1, int) # True
pathlib
from pathlib import Path
p = Path("data") / "a.txt"
p.parent.mkdir(parents=True, exist_ok=True)
p.write_text("hi", encoding="utf-8")
print(p.read_text(encoding="utf-8"))
print(p.exists())
json
import json
obj = {"name": "alice", "ok": True}
s = json.dumps(obj, ensure_ascii=False)
back = json.loads(s)
datetime
from datetime import datetime, timedelta
now = datetime.now()
tomorrow = now + timedelta(days=1)
print(now.strftime("%Y-%m-%d %H:%M:%S"))
collections
from collections import Counter, defaultdict
Counter("abca") # Counter({'a': 2, 'b': 1, 'c': 1})
d = defaultdict(int)
d["x"] += 1 # 缺省 0
要点
- 先查标准库,再引入第三方
- 路径优先
pathlib Counter/defaultdict能显著简化计数与分组