你是希望按照输入顺序输出还是按照key或者value的排序输出呢?
如果按照输入顺序输可以这样(方法一):
# 通过zip方法合并两个List为Dictionary# 遍历会按原先的顺序
keys = ["b", "a", "c", "e", "d"]
values = ["2", "1", "3", "5", "4"]
for key,value in zip(keys, values):
print(key,value)
# -- OUTPUT --
# b 2
# a 1
# c 3
# e 5
# d 4
如果按照输入顺序输出还可以这样(方法二):
import collectionsd=collections.OrderedDict()
d['a']='A'
d['b']='B'
d['c']='C'
for k,v in d.items():
print k,v
# -- OUTPUT --
#a A
#b B
#c C
如果按照key排序输出要这样:
x = {1:2, 3:4, 4:3, 2:1, 0:0}#升序
sorted_x = sorted(x.iteritems(), key=lambda x : x[0])
print sorted_x
# -- OUTPUT --
#[(0, 0), (1, 2), (2, 1), (3, 4), (4, 3)]
#降序
sorted_x = sorted(x.iteritems(), key=lambda x : x[0], reverse=True)
print sorted_x
# -- OUTPUT --
#[(4, 3), (3, 4), (2, 1), (1, 2), (0, 0)]
如果按照value排序输出要这样:
x = {1:2, 3:4, 4:3, 2:1, 0:0}#升序
sorted_x = sorted(x.iteritems(), key=lambda x : x[1])
print sorted_x
# -- OUTPUT --
#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
#降序
sorted_x = sorted(x.iteritems(), key=lambda x : x[1], reverse=True)
print sorted_x
# -- OUTPUT --
#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]
python字典怎么排序?定义一个字典类型
mydict = {2: '小路', 3: '黎明', 1: '郭富城', 4:'周董'}
可分别打印 key和value 看一下数据
按KEY排序,使用了 lambda和 reverse= False(正序)
key和value都输出
reverse= True(逆序)
按value排序,汉字次序不是按拼音输出
sorted并不改变字典本身的数据次序。
输出后为列表和元组
可以 A = sorted(mydict.items(),key = lambda mydict:mydict[1],reverse= False) 赋值给A ,A的次序是变化后的
推荐:《Python教程》
注意事项
sorted并不改变字典本身的数据次序
如果要变化后的 可以赋值给另一个列表变量以上就是小编分享的关于python字典怎么排序的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
words=raw_input("please input three words")
print sorted(words.split())
例如:
a = str(raw_input(u"请输入用空格分开的单词:"))
b = a.split()
b.sort()
for i in b:
print i
扩展资料:
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。
这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。
参考资料来源:百度百科-Python