python字典中根据值的大小,按顺序排列键有什么方法?

Python021

python字典中根据值的大小,按顺序排列键有什么方法?,第1张

s = {"a":"bb","b":"cc","c":"aa"}

def fun(s):

d = sorted(s.iteritems(),key=lambda t:t[1],reverse=False)

return d

d = fun(s)

print d

iteritems()得到的[(键,值)]的列表,通过sorted方法,指定排序的键值key是原来字典中的value属性,其中用到了匿名函数lambda,参数为t列表,返回第二个元素t[1],也就是每个键值对中的value, 从小到大排序时reverse=False,从大到小排序是True!

Python [1]  (英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU GeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面)

然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

代码如下:

text = input("输入数字,以空格分割:").strip().split(' ')

text = list(map(int,text))

text = sorted(text,reverse=True)

print(text)

输入:

1 2 3 4

输出:

4 3 2 1

input 输入的是字符类型的数据,你应该把num1,2,3通过int变成数据类型,在这之后再运算。

for j in range(0,3) 这一个比较次数多了,两次即可彻底比较出来,修改为for j in range(1,3)

for i in range(0,len(numlist)-1)这一个表达不明,改成for i in range(0,2)即可。

num1 =int( input("请输入第一个数:"))

num2 = int(input("请输入第二个数:"))

num3 = int(input("请输入第三个数:"))

numlist = [num1,num2,num3]

for j in range(1,3):

for i in range(0,2):

if numlist[i] >numlist[i+1]:

a = numlist[i]

numlist[i] = numlist[i+1]

numlist[i+1] = a

print(numlist)

以上。