可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

Python 中如何统计列表中元素出现的次数? cover
概念指南

Python 中如何统计列表中元素出现的次数?

Python 统计列表元素次数:list.count() 数单个元素;collections.Counter 一次性统计所有元素并支持 most_common() 取 TOP N。本文介绍两种方法。

Python 列表的 append() 和 extend() 有什么区别? cover
概念指南

Python 列表的 append() 和 extend() 有什么区别?

append 把整个对象作为单个元素加入列表末尾;extend 把可迭代对象的每个元素逐个加入。append([1,2]) 得到嵌套列表,extend([1,2]) 平铺展开。本文详解区别。

Python 中如何把字符串转换成 datetime 对象? cover
概念指南

Python 中如何把字符串转换成 datetime 对象?

Python 字符串转 datetime 用 datetime.strptime(字符串, 格式),格式符 %Y-%m-%d %H:%M:%S 等。本文介绍常用格式符、错误处理及 dateutil 自动解析。

Python 中如何创建函数装饰器(并叠加多个装饰器)? cover
概念指南

Python 中如何创建函数装饰器(并叠加多个装饰器)?

Python 装饰器是包装函数的高阶函数:定义一个接收函数、返回包装函数的函数,用 @语法应用。多个装饰器从下往上依次包装。本文给出完整教程。

Python 中如何定义多行字符串(把长字符串拆到多行)? cover
概念指南

Python 中如何定义多行字符串(把长字符串拆到多行)?

Python 多行字符串的方法:三引号保留换行、反斜杠续行、括号内相邻字符串自动拼接。本文对比各种写法及适用场景。

Python 中如何获取当前目录和文件的上级目录? cover
概念指南

Python 中如何获取当前目录和文件的上级目录?

Python 获取当前工作目录用 os.getcwd() 或 Path.cwd();获取文件所在目录用 os.path.dirname() 或 Path.parent;脚本自身位置用 __file__。本文对比各种方式。

Python 中如何列出一个目录下的所有文件? cover
概念指南

Python 中如何列出一个目录下的所有文件?

Python 列出目录文件:os.listdir() 列全部条目、os.scandir() 更高效、pathlib.Path.glob() 按模式匹配、os.walk() 递归遍历。本文对比各种方式。

Python 中如何把字符串解析成整数或浮点数? cover
概念指南

Python 中如何把字符串解析成整数或浮点数?

Python 字符串转数字:int('42') 转整数、float('3.14') 转浮点。非法输入抛 ValueError,需 try/except 容错。本文介绍转换方法及常见坑。

Python 中如何在终端打印彩色文字? cover
概念指南

Python 中如何在终端打印彩色文字?

Python 终端彩色输出:ANSI 转义码(\033[91m 红色 \033[0m 重置)原生支持;colorama 库跨平台(含 Windows);rich 库功能最全。本文介绍各种方案。

Python 中如何随机选取列表中的一个元素? cover
概念指南

Python 中如何随机选取列表中的一个元素?

Python 随机选列表元素用 random.choice(list);随机选多个不重复用 random.sample(list, n);打乱顺序用 random.shuffle。本文介绍各种随机选取方法。

Python 中如何按下标(索引)删除列表元素? cover
概念指南

Python 中如何按下标(索引)删除列表元素?

Python 按下标删列表元素:del list[i] 直接删除;list.pop(i) 删除并返回该元素;切片删除多个。本文对比各种方式及遍历时删除的坑。

Python 中如何把文件的每一行读入一个列表? cover
概念指南

Python 中如何把文件的每一行读入一个列表?

Python 把文件读成行列表:f.readlines() 一次性读入(含换行符),或列表推导式 [line.rstrip() for line in f]。大文件建议迭代处理。本文对比各方法。