www.3112.net > python中字母大小顺序

python中字母大小顺序

sorted函数原型:sorted(iterable[, cmp[, key[, reverse]]]) 这里只用了第一个和第三个参数.第一个参数就是原列表,若只有这一个参数的话默认按照字典的关键字(键)来排序,这样会得到:['a', 'b', 'c', 'd', 'e', 'f'] 第三个参数说明如下:key

任何两个对象都可以比较 相同类型的对象(实例),如果是数字型(int/float/long/complex),则按照简单的大小来比较;如果是非数字型,且类(型)中定义了__cmp__(含__gt__,__lt__等)则按照__cmp__来比较,否则按照地址(id)来比

刚才试了一下,字符串是可以直接比较的,但是要区分大小写.'a''B'所以首先都变成小写吧.然后sorted_string=reduce(lambda x,y:x>y and y+x or x+y,lowered_string )这样会失去原字符串的大小写.如果想保留大小写, 让他们等效,恐怕需要专门定义一个函数来比较, 一个lambda搞不定.------------------看错了,是排序英文名,也是同样的方法,把每个名字第一字符拿出来比较就行了.

文件这样子:代码:fl = open('luciatest1.txt') l = [] sortedl = [] for lines in fl.readlines(): lines = lines.replace("\n", "") l.append(lines) print('\n', 'the original file is:', l) sortedl = sorted(l) print('\n', 'the sorted file is:', sortedl) 运行结果:

暂时只能想到这样的,结果是排序后的键列表.d = {'a':3,'c':4,'b':3,'d':2,'f':4,'e':2}result = []keys = sorted(d,key=lambda k:d[k])for k in keys:if not result:result.append(k)elif d[k] == d[result[-1]] and k result.insert(len(result) - 1,k)else:result.append(k)print result

你好!d = {'a': 3, 'c': 4, 'b': 3, 'd': 2, 'f': 4, 'e': 2} result = {} keys = sorted(d, key=lambda k: d[k]) print d print keys for k in keys: result[k]=d[k] print result 如果对你有帮助,望采纳.

就是说按字母a~z顺序排序,但是忽略大小写,即将大写字母跟小写字母不做区分来看待(实际在ascii表中对应的值是不同的).一般处理方式就是将所有内容全部转换为大写或小写,然后进行排序

字符的话, 应该是比较的ascii码值.

inputA = raw_input("请输入第一个数字/按下 enter 键退出:")inputB = raw_input("请输入第二个数字/按下 enter 键退出:")if inputA > inputB:print "从大到小排序:", inputA,inputBelse:print "从大到小排序:",inputB,inputA1

是“豪旷词风”的代表人物写出了许多跌宕起伏、悲壮大气的词作.他的离情别绪词,也是一改他人的柔媚哀怨是“豪旷词风”的代表人物写出了许多跌宕起伏、悲壮大气的词作.他的离情别绪词,也是一改他人的柔媚哀怨

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com