python排序字典

1.python对字典排序,代码如下

tag_sorted = sorted(tag_count.iteritems(),key = operator.itemgetter(1),reverse = True)

# tag_sorted是个列表

eg.

>>> adict = dict([(x, 10+x) for x in xrange(10)])

>>> adict

{0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19}

>>> sorted(adict.iteritems())

[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), (7, 17), (8, 18), (9, 19)]

>>>

对于列表是没有.iteritems()方法的;后续代码可以调整为:

for i,(k,v) in enumerate(tag_sorted):

print("%d %d %d"%(k,v,i))

2.python 中的字典怎么排序,怎么按照添加的顺序显示

给你看看这个字典 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。

并且不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.现思考如下:如何根据需要可以根据“键”或“键值”进行不同顺序的排序?函数原型:sorted(dic,value,reverse)解释:dic为比较函数,value 为排序的对象(这里指键或键值), reverse:注明升序还是降序,True--降序,False--升序(默认)案例:dic = {'a':1 , 'b':2 , 'c': 3}1.print sorted(dic.iteritems(), key = lambda asd:asd[0] ,reverse = True)#结果:[('c', 3), ('b', 2), ('a', 1)]2.print sorted(dic.iteritems(), key = lambda asd:asd[0] )#结果:[('a', 1), ('b', 2), ('c', 3)] ,默认(升序)3.print sorted(dic.iteritems(), key = lambda asd:asd[1] )#结果:[('a', 1), ('b', 2), ('c', 3)]这里介绍两个函数:1.lambda案例:fuc = lambda x:x+ 2print fuc(3) #结果5,意思对于x ,返回 x + 22.iteritems()案例:dic = {'a':1 , 'b':2 , 'c': 3}print dic.iteritems() # 返回字典键-值对的一个迭代器在函数sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一个参数传给第二个参数“键-键值”,第二个参数取出其中的键(【0】)或键值(【1】)。

3.python中字典的排序

>>>d

{'a': 1, 'world': 11, 'z': 9, 'hello': 10}

>>>k=d.keys()

>>>k.sort()

>>>k

['a', 'hello', 'world', 'z']

>>>t=map(lambda key:(key,d[key]),k)

>>>t

[('a', 1), ('hello', 10), ('world', 11), ('z', 9)]

4.python 字典排序 字典序排序是什么意思

字典就是包含key:value对的集合

比如

L = [{"name": "zhangsan", "birth":19920208, "gender":"m"}, {"name": "lisi", "birth":19900609, "gender":"m"}, {"name": "wanghong", "birth":19950907, "gender":"f"}]

对字典排序就是对列表进行排序后打印:

from operator import itemgetter

L = sorted(L,key=itemgetter('birth'),reverse=True)

for i in range(0,len(L)):

print("Name: {:10} Gender: {:2} Birth: {}".format(L[i]["name"],L[i]["gender"],L[i]["birth"]))

5.python对字典排序,代码如下

tag_sorted = sorted(tag_count.iteritems(),key = operator.itemgetter(1),reverse = True)# tag_sorted是个列表eg.>>> adict = dict([(x, 10+x) for x in xrange(10)])>>> adict{0: 10, 1: 11, 2: 12, 3: 13, 4: 14, 5: 15, 6: 16, 7: 17, 8: 18, 9: 19}>>> sorted(adict.iteritems())[(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15), (6, 16), (7, 17), (8, 18), (9, 19)]>>>对于列表是没有.iteritems()方法的;后续代码可以调整为:for i,(k,v) in enumerate(tag_sorted): print("%d %d %d"%(k,v,i))。

6.Python字典如何排序啊,给例子谢谢

在Python2.7.x版本中, collections类增加了OrderedDict, 用法如下:

在Python2.7.x版本中, collections类增加了OrderedDict, 用法如下:

pywugw@pywugw-laptop:~$ /usr/local/bin/python2.7

Python 2.7b1 (r27b1:79927, Apr 26 2010, 11:44:19)

[GCC 4.4.3] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> from collections import OrderedDict

>>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

#按key排序

>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))

OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

#按value排序

>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))

OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])

#按key的长度排序

>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))

OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])

7.Python中字典按照指定列表的顺序排列

1

2

3

4

roles =["OWNER", "RCOM", "HRGDL2", "HRM", "HRH", "MP", "HP", "VP", "GM"]

info ={"VP": "80003", "HRM": "F140019", "MP": "F130008", "HRGDL2": "F140390", "OWNER": "F133255", "RCOM": "F900151", "GM": "00903", "HP": "80355", "HRH": "81453"}

sorted_dict =map(lambdax:{x:info[x]}, roles)

print(sorted_dict)

8.关于python当中字典值排序的问题

#!/usr/bin/env python

# coding: utf-8

#

# author: Tim Wang

# date: Nov., 2014

# filename: baidu/qa3.py

"""以下代码仅提供扩展参考的方法,在2.7版本下可运行。"""

import re

def parser(dataserial, patt, keyname, *evalattrs):

"""对给定的dataserial数据序列,用patt进行正则解析

对指定的evalattrs进行值转换,

以其中的keyname为字典键值,

"""

collector = {}

for matched in filter(None, map(patt.match, dataserial)):

data = matched.groupdict()

for attr in evalattrs:

data[attr] = eval(data[attr])

collector[data.get(keyname)] = data

return collector

def iterdictsort(dictdatas, sortattr):

for v in sorted(dictdatas.values(),

key=lambda v: v.get(sortattr)):

yield v

context = u"""

广州 2014-11-22 苹果 9 96

深圳 2014-11-23 香蕉 10 75

杭州 2014-11-24 番茄 5 43

北京 2014-11-25 橘子 8 24

"""

patt = re.compile(r"""^

(?P\S+)

\s+

(?P\S+)

\s+

(?P\S+)

\s+

(?P\d+)

\s+

(?P\d+)

\s*$""", re.I|re.U|re.X)

fmt = u"{locale} {date} {qty:4} {amount:8}"

datas = parser(context.splitlines(), patt, "locale", "qty", "amount")

print "="*32

print "\n".join(fmt.format(**data)

for data in iterdictsort(datas, 'qty'))

print "="*32

print "\n".join(fmt.format(**data)

for data in iterdictsort(datas, 'amount'))

9.python 元组中有字典,如何对其进行排序

disks_info=[{u'diskname': u'/dev/vda', u'disktype': u'HDD', u'tag': [u'mounted', u'boot'], u'slotnum': None, u'rpm': 7200, u'size': 50}, {u'diskname': u'/dev/vdb', u'disktype': u'HDD', u'tag': [u'osd_data'], u'slotnum': None, u'rpm': 7200, u'size': 30}, {u'diskname': u'/dev/vdc', u'disktype': u'HDD', u'tag': [u'osd_data'], u'slotnum': None, u'rpm': 7200, u'size': 30}, {u'diskname': u'/dev/vdd', u'disktype': u'HDD', u'tag': [u'osd_data'], u'slotnum': None, u'rpm': 7200, u'size': 30}, {u'diskname': u'/dev/vde', u'disktype': u'HDD', u'tag': [u'osd_data'], u'slotnum': None, u'rpm': 7200, u'size': 30}, {u'diskname': u'/dev/vdf', u'disktype': u'HDD', u'tag': [u'osd_data'], u'slotnum': None, u'rpm': 7200, u'size': 30}]

disks_info_sorted=sorted(disks_info,key=lambda x:x[u'size'],reverse=True)

print(disks_info_sorted)

python排序字典

转载请注明出处编程代码网 » python排序字典

资讯

安装pythonformysql

阅读(14)

本文主要为您介绍安装pythonformysql,内容包括如何在virtualenv虚拟环境中安装mysqlpython,python怎样安装mysqldb模块,如何安装python的MySQLdb模块?。到官方下载MySQL for Python然后解压,打开README:里面有安装过程: $ tar xfz MySQL-pytho

资讯

python字典列表

阅读(21)

本文主要为您介绍python字典列表,内容包括python字典列表和列表字典,python列表内有字典怎么使用,python列表中的列表转换字典(listofstr)>dictof{tupleofstr:。Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等

资讯

python文件复制文件

阅读(17)

本文主要为您介绍python文件复制文件,内容包括python文件拷贝.简单的一段代码.,python复制文件的小问题,求高手解,请仔细看图片啊,python怎么实现文件的复制。运行之前确保已经连上 8.8.9.127的共享。import osimport os.pathfrom os.path

资讯

python指南

阅读(15)

本文主要为您介绍python指南,内容包括如何快速入门python,python学习手册、技术手册、程序开发指南、入门经典,哪本适合,介绍一些python的入门书籍。Python入门到精通学习书籍推荐!Python基础教程(第2版 修订版)《Python基础教程(第2版修订版)》

资讯

pythonif或关系

阅读(16)

本文主要为您介绍pythonif或关系,内容包括关于python初级if语句与中文,python问题,关于if的,Python中,if与elif有何区别。主体不同 if:用来判定所给定的条件是否满足,根据判定的结果决定执行给出的两种操作之一。 2、elif:在判定条件不满足的

资讯

pythonobjectat

阅读(32)

本文主要为您介绍pythonobjectat,内容包括python3.5函数提示<>搜,python中,“<>”是什么意思?怎么解决?,python报错<builtinmethodreadofio.。Python的object和type理解节选自Python Documentation 3.5.2的部分解释Objects are Py

资讯

嵌入python

阅读(21)

本文主要为您介绍嵌入python,内容包括如何将python代码嵌入html代码中,如何把Python嵌入freepascal,在C/C++程序中嵌入Python脚本的注意事项总结。free pascal用的人真是很少了。以前pascal是教学语言。后来borland公司开发delphi以及windo

资讯

python倒序for

阅读(18)

本文主要为您介绍python倒序for,内容包括python正整数倒序输出,如何实现python的倒序遍历,如何实现python的倒序遍历。#1.字符串、列表、元组均可用此方法 (使用切片的方法) 不修改元素原有内容,将输出进行赋值#1.1 字符串s=nihao s1=s[:

资讯

python在字符串拼接字符串

阅读(26)

本文主要为您介绍python在字符串拼接字符串,内容包括python中字符串拼接,python字符串拼接问题,python字符串连接。a=open(a.txt,r)lines= a.readlines()print lines[0].strip()+:+lines[1]

资讯

python字符串数字

阅读(20)

本文主要为您介绍python字符串数字,内容包括python判断字符串是否为数字?,python判断字符串中大小写字母及数字个数,python一个字符串中有几个数字。判定是否为数字方法一:try: float(s) return True exceptValueError: pass try: imp

资讯

python在字符串拼接

阅读(17)

本文主要为您介绍python在字符串拼接,内容包括python中字符串拼接,python用字符串拼接一条语句,然后怎么执行,python字符串拼接问题。a=open(a.txt,r)lines= a.readlines()print lines[0].strip()+:+lines[1]

资讯

pythonif判断为空

阅读(20)

本文主要为您介绍pythonif判断为空,内容包括python判断字符串是否为空用什么方法,python判断字符串是否为空用什么方法?,python怎么判断一行为空行。Groovy Tip 3 如何在if条件语句中判断对象为空在Java语言编程中,对对象的非空判断是一个永

资讯

sqlite3与python

阅读(36)

本文主要为您介绍sqlite3与python,内容包括pythonsqlite3的问题,pythonsqlite3怎么处理,pythonsqlite3怎样对数据库里的数据进行操作。python编码如果把中文数据存储至sqlite数据库某一字段中,再通过查询语句取出并进行相关的字符串操作时,经

资讯

pythonforvs

阅读(21)

本文主要为您介绍pythonforvs,内容包括Python中for语句的用法?,怎么用,关于的自动换行!。Python 中的 for 语句和 C 或 Pascal 中的略有不同。通常的循环可能会依据一个等差数值步进过程(如 Pascal),或

资讯

安装pythonformysql

阅读(14)

本文主要为您介绍安装pythonformysql,内容包括如何在virtualenv虚拟环境中安装mysqlpython,python怎样安装mysqldb模块,如何安装python的MySQLdb模块?。到官方下载MySQL for Python然后解压,打开README:里面有安装过程: $ tar xfz MySQL-pytho

资讯

python字典列表

阅读(21)

本文主要为您介绍python字典列表,内容包括python字典列表和列表字典,python列表内有字典怎么使用,python列表中的列表转换字典(listofstr)>dictof{tupleofstr:。Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等

资讯

python文件复制文件

阅读(17)

本文主要为您介绍python文件复制文件,内容包括python文件拷贝.简单的一段代码.,python复制文件的小问题,求高手解,请仔细看图片啊,python怎么实现文件的复制。运行之前确保已经连上 8.8.9.127的共享。import osimport os.pathfrom os.path

资讯

python指南

阅读(15)

本文主要为您介绍python指南,内容包括如何快速入门python,python学习手册、技术手册、程序开发指南、入门经典,哪本适合,介绍一些python的入门书籍。Python入门到精通学习书籍推荐!Python基础教程(第2版 修订版)《Python基础教程(第2版修订版)》

资讯

pythonif或关系

阅读(16)

本文主要为您介绍pythonif或关系,内容包括关于python初级if语句与中文,python问题,关于if的,Python中,if与elif有何区别。主体不同 if:用来判定所给定的条件是否满足,根据判定的结果决定执行给出的两种操作之一。 2、elif:在判定条件不满足的

资讯

pythonobjectat

阅读(32)

本文主要为您介绍pythonobjectat,内容包括python3.5函数提示<>搜,python中,“<>”是什么意思?怎么解决?,python报错<builtinmethodreadofio.。Python的object和type理解节选自Python Documentation 3.5.2的部分解释Objects are Py

资讯

嵌入python

阅读(21)

本文主要为您介绍嵌入python,内容包括如何将python代码嵌入html代码中,如何把Python嵌入freepascal,在C/C++程序中嵌入Python脚本的注意事项总结。free pascal用的人真是很少了。以前pascal是教学语言。后来borland公司开发delphi以及windo

资讯

python字符串数字

阅读(44)

本文主要为您介绍python字符串数字,内容包括python判断字符串是否为数字?,python判断字符串中大小写字母及数字个数,python一个字符串中有几个数字。判定是否为数字方法一:try: float(s) return True exceptValueError: pass try: imp