res_dir = "D:\Develop\Python27\guo" #获取目录下所有文件及文件夹 dirs = os.listdir(res_dir) for fn in dirs: print fn #这里,lambda 函数将输入的字符转换为一个元组,然后 sorted 函数将根据元组(而不是字符)来进行比较,进而判断每个字符的前后顺序。 #按文件修改时间重新排序,倒序 dirs.sort(key=lambda fn: os.path.getmtime(res_dir+"\\"+fn),reverse=True) print "----------------------------------" for fn in dirs: print fn,os.path.getmtime(res_dir+"\\"+fn) print dirs[0] print 111 #先判断是否数字,在判断是否偶数,再判断是否大写,在判断是否小写,再排序 s="SoRting1234" #['g', 'i', 'n', 'o', 't', 'R', 'S', '1', '3', '2', '4'] print sorted(s,key=lambda x:(x.isdigit(),x.isdigit() and int(x)%2 == 0,x.isupper(),x.islower(),x)) s="SoRting1234" print sorted(s,key=lambda x:(x.isdigit(),x.isdigit() and int(x)%2 == 0,x.isupper())) #['o', 't', 'i', 'n', 'g', 'S', 'R', '1', '3', '2', '4'] print sorted(s,key=lambda x:(x.isdigit(),x.isdigit() and int(x)%2 == 0,x.isupper(),x.islower())) print s #忽略大小写比较 def astrcmp(str1,str2): return str1.lower()==str2.lower() print astrcmp("python", "Python1")
python 排序
最新推荐文章于 2022-12-09 17:07:47 发布