python string list排序 lambda
假如有一个同一系列list列表组成的列表,现在要按里面list的某个索引重新排列这个列表。
比如:zhetenga_list = [['aaa', 30], ['bbb', 20], ['ccc', 25]]
现在需要按照这些列表的第二个数字进行排序。在python中使用sorted函数可以达到要求。
用法:zhetenga_list = sorted(zhetenga_list, key=lambda k: k[1])
将得到结果:[['bbb', 20], ['ccc', 25], ['aaa', 30]]
如果第二个索引的内容是数字字符串,要按数字意思进行排序可以使用:
zhetenga_list = [['aaa', '2'], ['bbb', '1'], ['ccc', '11']]
zhetenga_list = sorted(zhetenga_list, key=lambda k: int(k[1]))
结果:[['bbb', '1'], ['aaa', '2'], ['ccc', '11']]
fileList = [] for i,j in enumerate(f_list): selectName = f_list[i] fileName = path + selectName print(fileName) useString = selectName[45:] useStringSplit = useString.split('E') useStringFloat = float(useStringSplit[0]) fileList.append(useStringFloat) fileListNp = np.array(fileList) idxSort = np.argsort(fileListNp) #newList = sorted(f_list,key=lambda k:idxSort) newList = [] for i,j in enumerate(f_list): newList.append([j,idxSort[i]]) finalList = sorted(newList,key=lambda k:k[1])