python练习:字典value值排序,key值排序

#字典value值排序,key值排序
from random import *
dict1 = {x:randint(5,12) for x in "aijwt"}
dict2 = {randint(5,12):y for y in "aibjwte"}
print (‘dict1:‘,dict1)
print (‘dict2:‘,dict2)

print ("将字典按value倒序显示,办法(collections的Counter):")
from collections import Counter
dict11 = Counter(dict1).most_common()                   #转为列表
dict22 = Counter(dict2).most_common()                   #转为列表
print(‘dict1按value倒序显示:‘,dict(dict11))              #转为字典显示
print(‘dict2按value倒序显示:‘,dict(dict22))              #转为字典显示

print ("将字典按key正序显示")
dict12 = list(dict1.items())
dict12.sort(key=lambda x:x[0])    #按照列表中元组元素的的第一个元素排序
print(‘dict1按key正序显示:‘,dict12)

print ("将字典按value正序显示")
dict13 = list(dict1.items())
dict13.sort(key=lambda x:x[1])    #按照列表中元组元素的的第二个元素排序
print(‘dict1按value正序显示:‘,dict13)

print(‘\n==========================分割一下=================================\n‘)
a1= list(dict1)                             #字典key转为列表
a2= list(dict1.items())                     #字典元素转为列表
a3= [i for i in dict1.items()]              #字典元素转为列表

print(‘dict1:‘,dict1)
print(‘list(dict1) :‘,a1)
print(‘list(dict1.items()) :‘,a2)
print(‘[i for i in dict1.items()]:‘,a3)

#列表转为字典
print(dict(a3))

结果:

dict1: {‘a‘: 7, ‘i‘: 7, ‘j‘: 7, ‘w‘: 11, ‘t‘: 11}
dict2: {12: ‘j‘, 5: ‘i‘, 8: ‘b‘, 9: ‘w‘, 7: ‘t‘, 11: ‘e‘}
将字典按value倒序显示,办法(collections的Counter):
dict1按value倒序显示: {‘w‘: 11, ‘t‘: 11, ‘a‘: 7, ‘i‘: 7, ‘j‘: 7}
dict2按value倒序显示: {9: ‘w‘, 7: ‘t‘, 12: ‘j‘, 5: ‘i‘, 11: ‘e‘, 8: ‘b‘}
将字典按key正序显示
dict1按key正序显示: [(‘a‘, 7), (‘i‘, 7), (‘j‘, 7), (‘t‘, 11), (‘w‘, 11)]
将字典按value正序显示
dict1按value正序显示: [(‘a‘, 7), (‘i‘, 7), (‘j‘, 7), (‘w‘, 11), (‘t‘, 11)]

==========================分割一下=================================

dict1: {‘a‘: 7, ‘i‘: 7, ‘j‘: 7, ‘w‘: 11, ‘t‘: 11}
list(dict1) : [‘a‘, ‘i‘, ‘j‘, ‘w‘, ‘t‘]
list(dict1.items()) : [(‘a‘, 7), (‘i‘, 7), (‘j‘, 7), (‘w‘, 11), (‘t‘, 11)]
[i for i in dict1.items()]: [(‘a‘, 7), (‘i‘, 7), (‘j‘, 7), (‘w‘, 11), (‘t‘, 11)]
{‘a‘: 7, ‘i‘: 7, ‘j‘: 7, ‘w‘: 11, ‘t‘: 11}

Process finished with exit code 0

原文地址:https://www.cnblogs.com/jxba/p/11840798.html

时间: 2024-10-11 03:35:44

python练习:字典value值排序,key值排序的相关文章

Python 基于字典里的指定key进行排序

对下面列表基于age进行排序items = [{'age': 28, 'name': 'Tom'}, {'age': 25, 'name': 'Jack'}, {'age': 18, 'name': 'Alex'}] 方法一:sorted(items,key=lambda item: item['age']) 方法二:from operator import itemgettersorted(items,key=itemgetter('age')) 备注:以上两个方法同样适用于 max().mi

iOS 判断字典是否包含特定Key值

当面向字典开发或服务器返回的数据为字典时,应当判断字典内是否有对应的key值,从而避免返回key值为空而导致程序奔溃: NSDictionary *dict = self.datas[indexPath.row]; if([[dict allKeys] containsObject:@"key"]) { cell.textLabel.text = [dict valueForKey:@"ke y"]; } else { cell.textLabel.text = @

Python对字典分别按键(key)和值(value)进行排序

使用sorted函数进行排序 sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数;其中iterable表示可以迭代的对象,例如可以是dict.items().dict.keys()等key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false. 初始化字典dict_data={6:9,10:

python通过字典dict判断指定键值是否存在

python中有两种方法可以判断指定的键值是否存在,一种是通过字典对象的方法 has_key 判断,另外一种是通过 in 方法,下面是详细的范例. 1 2 3 4 5 d={'site':'www.cnblogs.com','name':'cnblog','object':'asgdjaa'} #方法1:通过has_key print d.has_key('site') #方法2:通过in print 'body' in d.keys()

python 对字典"排序"

对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构: 但实际应用中我们确实有这种排序的"需求"-----按照values的值"排序"输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的

python中字典操作大全.md

字典是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,速度非常快.下面列出字典的常用的用途. 创建字典的4种方式: #coding=utf-8 # 如果先能拼出整个字典,则此方法比较方便 Dict1 = {'name':'聚焦学院','age':6} print(Dict1) # {'name': '聚焦学院', 'age': 6} # 如果需要动态地建立字典的一个字段,则此方法比较方便 Dict2 = {} Dict2['name'] = '

STL map 按key值和按value值排序

map是用来存放<key, value>键值对的数据结构,能够非常方便高速的依据key查到对应的value. 假如存储水果和其单位价格.我们用map来进行存储就是个不错的选择. 我们这样定义.map<string, double>.当中水果用string类型.作为Key:该水果的单位价格用double类型,作为value. 这样一来,我们能够依据水果名高速的查找到价格. 我们不仅要将水果和相应的价格输出,还想知道依照价格高低进行排序的结果. 换句话说,我们希望可以对map进行按Ke

python 多级字典值合并

python 多级字典值合并: #!/bin/env python import os,sys,re import cStringIO f=open('/tmp/3.txt') ''' /tmp/3.txt content: 148616  '192.168.0.127:8080'    0.157   {'200': 130000, '206': 250, '301': 90, '302': 6698, '304': 6018, '406': 5} 148616  '192.168.0.127

python字典中键值对的值为中文,打印成转义字符,怎么解决

今天是2019-10-02,学习代码第二天. python字典中键值对中有中文,打印的时候,发现成转义字符了.查了好久,解决.记录一下.useful. 今日份代码: 1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 # 字典和列表的区别 4 # 列表是有序的对象集合,字典是无序的对象集合 5 # 字典的特点,字典用{}定义,使用键值对存储数据,键值对间用,分开 6 # 键--key,索引 值--value,数据 键和值间用:分开 键--唯一的,只能取字