python 3中字符串切片操作的时间复杂性
给定长度为n的字符串s,切片操作python 3中字符串切片操作的时间复杂性,python,string,python-3.x,Python,String,Python 3.x,给定长度为n的字符串s,切片操作s[i:j]在python3中,其中 (0CPython通过创建包含提取字符的新字符串对象来实现字符串切片。这需要与复制的字符数成比例的时间,因此需要与j-i(复制的字符数)成比例的时间.CPython通过创建包含提取字符的新字符串对象来实现字符串切片。这需要与复制的字符数成比例的时间,因此需要与j-i(复制的字符数)成比例的时间.如果你也能提供一些信息来源,那将非常有帮助。谢谢@DYZ评论中链接的另一个答案;最后,没有“证据”在这一点上,我们不必盯着实现代码看。
s[i:j]
在python3中,其中(0CPython通过创建包含提取字符的新字符串对象来实现字符串切片。这需要与复制的字符数成比例的时间,因此需要与j-i
(复制的字符数)成比例的时间.CPython通过创建包含提取字符的新字符串对象来实现字符串切片。这需要与复制的字符数成比例的时间,因此需要与j-i
(复制的字符数)成比例的时间.如果你也能提供一些信息来源,那将非常有帮助。谢谢@DYZ评论中链接的另一个答案;最后,没有“证据”在这一点上,我们不必盯着实现代码看。这是有道理的,但只是为了确认在列表和字符串中切片没有实现上的区别?@Manya:,字符串和列表之间有一些细微的区别,例如str[:]
将返回原始的str
,而任何可变类型(例如list)将返回一份完整的副本。如果您还可以提供该信息的一些来源,那将非常有用。感谢@DYZ评论中链接的另一个答案;最后,没有“证据”在这一点上,我们不必盯着实现代码看。这是有道理的,但只是为了确认在列表和字符串中切片没有实现上的区别?@Manya:,字符串和列表之间有一些细微的区别,例如str[:]
将返回原始的str
,而任何可变类型(例如list)将返回完整的副本。