【发布时间】:2016-06-26 21:42:28
【问题描述】:
如果我没记错的话,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 string python-3.x