python字符串索引访问的时间复杂性?

2024-10-02 14:21:19 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我没搞错的话,Python字符串是以unicode标量存储的。但是,unicode标量可以组合起来形成其他的字形簇。因此,对string[n]使用内存置换start + scalarSize * n并不是您要寻找的答案。在

这是否意味着Python对每个标量进行线性迭代以获得您要查找的标量?如果你有

word = 'caf' + char(65) + char(301) #café

Python是否将其存储为五个标量,并在继续之前迭代检查是否应该组合这些标量,还是在插入时执行检查并存储“纯”标量?在

编辑:我把Python和另一种语言搞混了。Python的print()打印出grapheme集群,但是Python的str存储标量,不管您如何输入它们。这两个标量可以和另一个标量组合成一个标量。当您调用string[0]时,您将得到插入到字符串中的标量。在


Tags: 内存字符串答案语言编辑stringunicode线性
1条回答
网友
1楼 · 发布于 2024-10-02 14:21:19

Python字符串索引不考虑grapheme集群。它通过Unicode代码点工作。我认为Python实际上没有任何内置的用于处理grapheme集群的功能。在

字符串索引需要固定的时间,但是如果您想要检索第n个grapheme集群,那么字符串索引就不能满足您的需要。在

(有时人们建议对字符串应用规范组合,但有许多可能的石墨烯簇在规范组合之后仍会使用多个代码点。)

相关问题 更多 >