gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:25:13 24 4
gpt4 key购买 nike

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

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

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

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

编辑:我将 Python 与另一种语言混淆了。 Python 的 print() 打印出字素簇,但 Python 的 str 存储标量,无论您如何输入它们。因此,两个组合的标量将打印为一个字素簇,它可能与另一个标量是同一个簇。当您调用 string[0] 时,您会得到插入到字符串中的标量。

最佳答案

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

字符串索引需要常数时间,但如果您想检索第 n 个字素簇,字符串索引不会为您做这件事。

(人们有时建议对字符串应用规范组合,但有很多可能的字素簇在规范组合后仍采用多个代码点。)

关于python - python字符串索引访问的时间复杂度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com