You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查询Python len()函数返回看似错误值的相关官方文档

关于Python len()函数的文档说明

代码示例

$ python
Python 3.8.10 (default, Nov 14 2022, 12:59:47) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> for name in ["Blue Oyster Cult", "Blue Öyster Cult", "Spinal Tap", "Spın̈al Tap"]:
...     print(f'{len(name):3d} {name}')
... 
 16 Blue Oyster Cult
 16 Blue Öyster Cult
 10 Spinal Tap
 11 Spın̈al Tap
>>> quit()

文档相关说明

Python官方文档中,len()函数的定义是返回对象包含的元素个数,对于字符串来说,这里的“元素”指的是Unicode码位(code points)。

像Spın̈al Tap这类包含组合字符的字符串,其中的n̈是由基础字符n(U+006E)和分音符组合标记(U+0308)两个独立码位构成的,len()会将它们分别计数,所以返回结果是11。

官方文档并没有把这种情况描述为“错误结果”,反而在字符串相关文档里明确说明:字符串是Unicode码位的序列,len()统计的是码位数量,而非视觉上的字形或字符个数。

内容的提问来源于stack exchange,提问作者Ray Butterworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:20:19