python 排序

来源:互联网 发布:数据资源管理平台 编辑:程序博客网 时间:2024/06/16 06:56
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")
原创粉丝点击