2024-04-20 02:56:07 发布
网友
我编写了一个代码,它将0放在列表的顶部,1放在列表的末尾,但这增加了空间和时间的复杂性。如何降低代码的复杂性
代码:
array = [0, 1, 0, 1, 1, 0] new_list = [] new_list1 = [] for i in array: if i == 0: new_list.append(i) else: new_list1.append(i) print(new_list + new_list1)
如果输出需要 [0, 0, 0, 1, 1, 1]
[0, 0, 0, 1, 1, 1]
您可以执行以下操作:
In [17]: array = [0, 1, 0, 1, 1, 0] print([0] * array.count(0) + [1] * array.count(1)) Out[17]: [0, 0, 0, 1, 1, 1]
稍微修改代码:
array = [0, 1, 0, 1, 1, 0] new_list = [] for i in array: if i == 0: new_list.append(i) new_list.extend(1 for _ in range(len(array) - len(new_list))) print(new_list)
印刷品:
没有计数和保持循环的另一种方法可能是:
array = [0, 1, 0, 1, 1, 0] new_list = [] for val in array: if val == 1: new_list.append(1) else: new_list.insert(0, 0) >> [0, 0, 0, 1, 1, 1]
如果输出需要
[0, 0, 0, 1, 1, 1]
您可以执行以下操作:
稍微修改代码:
印刷品:
没有计数和保持循环的另一种方法可能是:
相关问题 更多 >
编程相关推荐