>>> import queue
>>> t = queue.deque()
>>> for each in [0, 4, 0, 4]:
... if each <= 0: t.appendleft(each)
... else: t.append(each)
...
>>> t
deque([0, 0, 4, 4])
lst = [0,1,2,0]
helper = [0 for i in len(lst)]
counter = 0
for i in range(len(lst)-1,-1,-1):
if lst[i]:
helper[len(lst)-1-counter] = lst[i]
counter += 1
print(helper)
这可能不是最有效的解决方案:
这将遍历原始列表两次,并创建两个临时列表和一个最终列表。你知道吗
希望这个例子有帮助!你知道吗
这里我们使用Python预定义的数据类型
queue
如果您想要一个高效的解决方案,而该解决方案并不适用,而且比排序更快,您可以这样做:
相关问题 更多 >
编程相关推荐