
defaultdict 避免计数报错 🌟🌟🌟 避免 KeyError,在字典中访问未存在的键时自动初始化。
from collections import defaultdict# 默认值默认为空字符串counter = defaultdict(int)counter['a'] += 1counter['b'] += 1print(counter['a'])# 输出:1
Counter统计频率🌟🌟🌟 专门用于统计元素计数的类,支持多种集合类型。
from collections import Counterwords = ['python', 'code', 'code', 'python', 'test']freq = Counter(words)print(freq.most_common(2))# 输出:# [('python', 2), ('code', 2)]
logging模块替代 print🌟🌟🌟 专业日志记录,支持分级、路由和异步处理,代码更清晰。
import loggingimport sys# 配置logging.basicConfig(level=logging.INFO)logger = logging.getLogger(__name__)# 使用logger.info("这是一个信息日志")logger.debug("这是一个调试日志")
sys.argv 让脚本文件运行时有参数可用🌟🌟🌟 从操作系统命令行读取用户输入的参数。
import sys# 获取参数,sys.argv[0] 是脚本名if len(sys.argv) > 1:print(f"第一个参数是:{sys.argv[1]}")else:print("未提供参数")# bash/cmd等命令行环境python script.py para=2
glob模块匹配文件 🌟🌟🌟 替代通配符 *,处理复杂文件路径模式。
import glob# 获取当前目录下所有 .txt 文件files = glob.glob('*.txt')# 或更复杂的正则路径files = glob.glob('/path/to/**/*')
functools.lru_cache缓存🌟🌟🌟 自动缓存函数返回结果,减少重复计算开销。
from functools import lru_cache@lru_cache(maxsize=128)def fib(n):if n < 2:return nreturn fib(n-1) + fib(n-2)# 调用时直接返回缓存值,无需额外内存管理fib(10)
itertools.chain合并迭代器🌟🌟🌟 惰性合并多个迭代器,节省内存(适合大数据流)。
from itertools import chainiterator1 = range(3)iterator2 = range(3, 6)# 合并成一个新的迭代器merged = list(chain(iterator1, iterator2))# 输出 [0, 1, 2, 3, 4, 5]
往期精彩:
1、Python入门合集
2、Pandas入门合集
它是数字世界里的一把杀猪刀
却总能巧夺天工
它的世界是纯粹0、1组合
却总能创造无尽幻想
......
本公众号关注数据价值分析、编程学习,将不定期更新社会热点数据分析结果、编程技巧,分享数据分析工具、方法、学习等内容,欢迎有兴趣的小伙伴加入。