【发布时间】:2018-01-22 19:57:45
【问题描述】:
我有一个数组:
list=[[1, 2, 3], [31, 10, 2], [7, 2, 4]]
我想对每个子数组中仅有的前两个元素进行排序(按升序排列)。
列表应如下所示:
list=[[1, 2, 3], [10, 31, 2], [2, 7, 4]]
我以前做的代码是:
list=[[1, 2, 3], [10, 31, 2], [2, 7, 4]]
for i in list:
if list[0]>list[1]:
list[0],list[1]=list[1],list[0]
else:
print('Do Nothing')
有没有更快的方法?
【问题讨论】:
-
可能不显着。您的代码是否遇到性能问题?
-
如果这是性能瓶颈,您可能应该首先使用一些其他数据结构(......也许)。可能有无分支的方法,但很难推断它们是否更好。
-
您可以将这项工作卸载到
numpy或pandas以加快速度。 -
“更快”是什么意思?
-
每个子列表是否总是只有三个元素?