我想了解使用append()方法构建Python v2.7列表的复杂度顺序是什么?Python列表是双向链接还是单向链接,因此具有常数复杂度,还是线性复杂度?如果它是单向链接,如何在线性时间内从提供列表值顺序的迭代器中构建列表?
例如:
例如:
def holes_between(intervals):
# Compute the holes between the intervals, for example:
# given the table: ([ 8, 9] [14, 18] [19, 20] [23, 32] [34, 49])
# compute the holes: ([10, 13] [21, 22] [33, 33])
prec = intervals[0][1] + 1 # Bootstrap the iteration
holes = []
for low, high in intervals[1:]:
if prec <= low - 1:
holes.append((prec, low - 1))
prec = high + 1
return holes
append
根本无法工作。它更接近于Java的ArrayLists以及其他语言中的类似结构。请参见动态数组。编辑:抱歉,我一开始没有看到“动态”。你是对的,当然。 - Stjepan Bakrac