我对它并不陌生,但我不怎么使用 Python,而且我的知识相当广泛,对语言的了解也不是很深,也许这里的知识渊博的人可以回答我的问题。当我需要将项目添加到列表并将其作为添加的项目排序时,我发现自己处于这种情况。一个快速的方法是。
list.append(item) // O(1)
list.sort() // ??
我想如果这是将项目添加到列表中的唯一方式,我希望排序会相当有效,因为每次添加都会对列表进行排序。然而,也有这样的工作:
inserted = False
for i in range(len(list)): // O(N)
if (item < list[i]):
list.insert(i, item) // ??
inserted = True
break
if not inserted: list.append(item)
谁能告诉我其中之一是否明显更有效?我倾向于第二组陈述,但我真的不知道。