我知道使用+=
运算符连接两个字符串会生成旧字符串的新副本,然后将新字符串连接到该副本,从而产生二次时间复杂性。
这个答案给出了CCD_ 2操作和CCD_。看起来join()
方法在线性时间内运行(如果我错了,请纠正我(。出于好奇,我想知道string.join(str_list, '')
方法是如何在Python中实现的,因为字符串是不可变的对象?
它是用C实现的,所以python的可变性不那么重要。你可以在这里找到合适的来源:unicodeobject.c