我想用四个numpy数组对列表进行排序。
import numpy as np
import datetime
time_origin=[]
filelist=['3.csv','2.csv','1.csv','4.csv']
for i in np.arange(4):
time_origin.append(np.loadtxt(
filelist[i],delimiter=',',skiprows=1,usecols=(0,),unpack=True))
time_origin.sort()
然而,它不起作用。
预期结果:
例如:
a=[array[1,2,3,4],array[6,2],array[0,12,1,4,5]]
我想根据每个数组的长度对进行排序
预期结果是:
a=[array[6,2],array[1,2,3,4],array[0,12,1,4,5]]
使用len
作为排序键进行排序:
time_origin.sort(key=len)
Python逐元素排序列表,如果所有元素都相同,则较长的列表将在之后排序,但由于12 > 1
,[1,2,3]
将在[12]
之前排序。
尝试使用内置的sorted
函数,如下所示:
arrays = [np.array([1,2,3,4]), np.array([1,2]), np.array([1,2,3,4,5])
a = sorted(arrays, key=lambda x:len(x))
这里的核心思想是使用lambda函数。