python字典key排序(Python中如何以dict的key排序输出)

1.Python中如何以dict的key排序输出

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#输出的2113顺序却不是我们预想5261的那样初始4102化的顺序,查询相1653关文献得知,内Python保证遍##历字典所容有元素,但不保证遍历的顺序,假如我们期望按预先的顺序进行遍历的话,#我目前找到一个办法,就是通过两个List分别存储Key和Value,然后通过zip合并为Dic#tionary,再遍历:

# 通过zip方法合并两个List为Dictionary

# 遍历会按原先的顺序

keys =["b", "a", "c", "e", "d"]

values =["2", "1", "3", "5", "4"]

forkey,value inzip(keys, values):

print(key,value)

# -- OUTPUT --

# b 2

# a 1

# c 3

# e 5

# d 4

2.求助:python元组作为字典的key的排序问题

当然是元组了,元组就相当于数组,直接按照索引去取元素。而字典是按照key去取元素(类似于hash表),速度当然比不上元组了。下面的测试可以提供一些直观的感觉。

$ python -m timeit -s 'a = dict(a=12, b=13, c=14)' 'for k,v in a.items():' ' pass'

1000000 loops, best of 3: 0.391 usec per loop

$ python -m timeit -s 'a = (12, 13, 14)' 'for v in a:' ' pass'

10000000 loops, best of 3: 0.12 usec per loop

可以看到遍历同样是三个元素的dict的时间大致上是tuple的3倍左右。 (实际上这个时间包括了创建 dict 和 tuple 的时间,创建dict的时间也是要大于创建tuple的时间的,这里就不细分了,总之,dict的创建、访问时间一定是大于tuple的)

但是在python中,dict是做过极度优化的,其效率已经非常高了,因为在python中它的使用实在是太广了。所以在实际编程中,一般我们只根据实际需求来考虑使用什么数据结构 (dict, list, set, tuple),而不是根据不同数据结构的访问速度差别。

3.python怎么对字典进行排序

python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:

1 下面的是按照value的值从大到小的顺序来排序。

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}

dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)

print dict

输出的结果:

[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

下面我们分解下代码

print dic.iteritems() 得到[(键,值)]的列表。

然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。

2 对字典按键(key)排序:

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}

dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的键

print dict

4.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)]

5.求python 字典 中根据值的大小,按顺序排列键的方法

sorted函数原型:

sorted(iterable[, cmp[,

key[, reverse]]])

这里只用了第一个和第三个参数。

第一个参数就是原列表,若只有这一个参数的话默认按照字典的关键字(键)来排序,这样会得到:

['a', 'b', 'c', 'd', 'e', 'f']

第三个参数说明如下:

key specifies a function of one argument that is used to extract a

comparison key from each list element. 就是说,需要指定只有一个参数的函数,用于排序比较。

lambda 是匿名函数,lambda后跟的k即为函数参数,d[k]是函数返回值。

匿名函数,顾名思义,没有函数名。

这个lambda匿名函数的作用就是将 d[k] 即关键字的值作为排序的依据。

这个代码就是根据值的大小排序键的方法。

6.python 中dictionary值可以排序吗

可以按照key或value排序:

测试dict字典内容如下:

test_dict={'zhangsan':20,'lisi':30,'wangerma':40}

1. 按key顺序排列

for key in sorted(test_dict.iterkeys()):print "%s: %s" % (key, test_dict[key])

若要按key值降序排列:

for key in sorted(test_dict.iterkeys(),reverse=True):print "%s: %s" % (key, test_dict[key])

2. 按value数序排列

for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k)):print "%s: %s" % (key, value)

若要按value值降序排列:

for key, value in sorted(test_dict.iteritems(), key=lambda (k,v): (v,k),reverse=True):print "%s: %s" % (key, value)

转自:

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

其实在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)])。

8.python中字典如何按照value值排序,并分别取出前n个value值和key值

before = {

"key1": 5,

"key2": 6,

"key3": 4,

"key4": 3,

}

# 排序

after = dict(sorted(before.items(), key=lambda e: e[1]))

print(after)

# 取出前几个, 也可以在sorted返回的list中取前几个

cnt = 0

for key, value in after.items():

cnt += 1

if cnt > required_cnt:

break

print("{}:{}".format(key, value))

9.python怎么对字典进行排序

python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:1 下面的是按照value的值从大到小的顺序来排序。

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)print dict输出的结果:[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]下面我们分解下代码print dic.iteritems() 得到[(键,值)]的列表。然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。

reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。2 对字典按键(key)排序:dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的键print dict。

10.PYTHON:dictionary按原来顺序输出key

dict是一种散列表结构,就是说数据输入后按特征已经被散列了,有自己的顺序。本身不记录原输入顺序。

如果一定需要输入顺序,建议

方案1,不使用dict,使用元组的列表,比如[('sam',''),('beta',''),('ccc',''),('abc','')]

这种结构是记录输入顺序的、有序的,也能方便地转换成dict。

方案2,另用一列表记录下输入时的顺序,比如['sam','beta','ccc',,'abc']

python字典key排序

转载请注明出处代码入门网 » python字典key排序(Python中如何以dict的key排序输出)

资讯

pythoninnutshell(PythonString和PyQtQString的区别)

阅读(26)

本文主要为您介绍pythoninnutshell,内容包括#!/usr/bin/python这是个什么意思,PythonString和PyQtQString的区别,python中的foriinrange怎么用。以下在python2.5和PyQt4.4.6 for python2.5环境下讨论。在python中有两种与字符有关的类型:str

资讯

python行分割(Python中split和split的区别)

阅读(37)

本文主要为您介绍python行分割,内容包括使用python如何按行数拆分文件,python中怎么拆分一行内多列数据成多行,如何用python对一行字符串进行不规则分割。str.split( ) 切割符默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。str.split("

资讯

pythonrw(python中wr表示什么意思)

阅读(27)

本文主要为您介绍pythonrw,内容包括python中w、r表示什么意思,python中w、r表示什么意思,python读写文件中w与wt;r与rt有何区别。文件读写就是一种常见的IO操作。文件读写操作步骤不同的编程语言读写文件的操作步骤大体都是一样的,都分为以

资讯

python获取文件修改时间(python中如何获得文件的修改时间)

阅读(25)

本文主要为您介绍python获取文件修改时间,内容包括python中如何获得文件的修改时间,如何在Python中获取文件创建和修改日期/时间,python中怎样获取文件的修改时间及其他系统信息状态。我们通过文件属性的获取,os.stat() 方法:>>>import os>>>s

资讯

pythonsetdefault(python中.setdefault是什么)

阅读(26)

本文主要为您介绍pythonsetdefault,内容包括python中.setdefault()是什么,python中.setdefault()是什么,python关于dict中的setdefault的问题。>> trainSet={}>>> trainSet.setdefault(1,2) # 给字典trainSet 设置键为1 值为2的键

资讯

pythonwindows编码转换(python编码转换)

阅读(37)

本文主要为您介绍pythonwindows编码转换,内容包括python编码转换,python中前后台怎么进行编码转换,python编码转换。A. Usage decode/encode:def utf2gbk(s): 按utf-8解码,再按gbk编码 return s.dec

资讯

python(abi)=2.4is(复数3+4i在Python中的表示方式是)

阅读(24)

本文主要为您介绍python(abi)=2.4is,内容包括linux下安装yum时报错需要python(abi)=2.4请问怎么处理,复数3+4i在Python中的表示方式是,Python问题给出下列代码:zhanyi=“用心战疫,共待花期”可以输出。在python中,复数的表示是【实数部+虚数

资讯

python自动提交(如何用python脚本提交JS的表单)

阅读(22)

本文主要为您介绍python自动提交,内容包括如何用python脚本提交JS的表单,如何利用python进行参数的自动填写,怎么用python提交multipart/formdata数据。如果是要提交表单内容给 服务器的 python 处理,那么只需要在表单 <form&gt; 里面的 acti

资讯

python按顺序(python顺序表)

阅读(23)

本文主要为您介绍python按顺序,内容包括python顺序表,求python字典中根据值的大小,按顺序排列键的方法,python从键盘输入a、b两个数,按大小顺序输出它们。本问题回答如下:你可以根据自己的需求稍微改动一下# -*- coding: cp936 -*-class Stu

资讯

python调用另一个文件(python如何调用另一个py文件的所有函数)

阅读(23)

本文主要为您介绍python调用另一个文件,内容包括python如何在一个文件中调用另一个文件的类,python如何调用另一个py文件的所有函数,python怎么在一个文件中调用另一个文件的类。在同一个文件夹下 调用函数:A.py文件:B.py文件:或 调用类:A.py文

资讯

python3标准库(Python常用的标准库以及第三方库有哪些)

阅读(22)

本文主要为您介绍python3标准库,内容包括Python常用的标准库以及第三方库,Python常用的标准库以及第三方库,python标准库。标库Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Pyt

资讯

pythoninnutshell(PythonString和PyQtQString的区别)

阅读(26)

本文主要为您介绍pythoninnutshell,内容包括#!/usr/bin/python这是个什么意思,PythonString和PyQtQString的区别,python中的foriinrange怎么用。以下在python2.5和PyQt4.4.6 for python2.5环境下讨论。在python中有两种与字符有关的类型:str

资讯

python行分割(Python中split和split的区别)

阅读(37)

本文主要为您介绍python行分割,内容包括使用python如何按行数拆分文件,python中怎么拆分一行内多列数据成多行,如何用python对一行字符串进行不规则分割。str.split( ) 切割符默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。str.split("

资讯

pythonrw(python中wr表示什么意思)

阅读(27)

本文主要为您介绍pythonrw,内容包括python中w、r表示什么意思,python中w、r表示什么意思,python读写文件中w与wt;r与rt有何区别。文件读写就是一种常见的IO操作。文件读写操作步骤不同的编程语言读写文件的操作步骤大体都是一样的,都分为以

资讯

python获取文件修改时间(python中如何获得文件的修改时间)

阅读(25)

本文主要为您介绍python获取文件修改时间,内容包括python中如何获得文件的修改时间,如何在Python中获取文件创建和修改日期/时间,python中怎样获取文件的修改时间及其他系统信息状态。我们通过文件属性的获取,os.stat() 方法:>>>import os>>>s

资讯

pythonsetdefault(python中.setdefault是什么)

阅读(26)

本文主要为您介绍pythonsetdefault,内容包括python中.setdefault()是什么,python中.setdefault()是什么,python关于dict中的setdefault的问题。>> trainSet={}>>> trainSet.setdefault(1,2) # 给字典trainSet 设置键为1 值为2的键

资讯

linuxpython库位置(怎样查看python安装路径)

阅读(1)

本文主要为您介绍linuxpython库位置,内容包括linuxpythonos库在什么地方,linuxpython类库在哪,centos中python的类库文件安装在什么位置。方法如下:linux查看python安装位置。有时我们需要查看python的安装位置,好安装第三方库,linux可以先pyt

资讯

python爬虫是什么(python爬虫是什么)

阅读(1)

本文主要为您介绍python爬虫是什么,内容包括python爬虫是什么,python为什么叫爬虫,python里面的爬虫是什么。世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析、挖掘、机器学习等提供重要的数据源。什么是爬虫?网络爬虫(

资讯

python未知数(python的不等号是什么)

阅读(1)

本文主要为您介绍python未知数,内容包括请问python怎么用变量表示未知数之间的关系,请问python怎么用变量表示未知数之间的关系,python的不等号是什么。python的不等号如下:!= 不等于 - 比较两个对象是否不相等。

资讯

pythonxef(Python里的flag)

阅读(1)

本文主要为您介绍pythonxef,内容包括pythondef是什么意思,Python里的flag,python里defdrawGap是什么意思。

资讯

pythondll结构体(c结构体怎么用python写)

阅读(1)

本文主要为您介绍pythondll结构体,内容包括c结构体怎么用python写,python怎么构造一个结构体,python怎么导入ctypes。C封装了一个Dll,名为SpjMatlabTest.dll,暴露实现: typedef struct{ double *Min; dou

资讯

python小项目练手(推荐几个适合新手练手的Python项目)

阅读(1)

本文主要为您介绍python小项目练手,内容包括推荐几个适合新手练手的Python项目,python哪些练手的小程序,Python的练手项目值得推荐。实例一:满分推荐,非常值得练习GitHub - Yixiaohan/show-me-the-code: Python 练习册,每天一个小

资讯

python与c语言的区别是(python与C的区别)

阅读(1)

本文主要为您介绍python与c语言的区别是,内容包括python与C的区别,C语言和Python有什么区别呢,c语言和python区别。python与C的区别如下。语言类型不同。Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它

资讯

python3创建文件(python怎么创建一个txt文件)

阅读(1)

本文主要为您介绍python3创建文件,内容包括Python中如何创建文件,python怎么创建一个txt文件,python如何创建文件夹。python怎么创建一个txt文件的方法。如下参考:1.首先使用内置的空闲编辑器进行编辑(右键单击并选择copy),如下图所示。

资讯

python发布服务器(如何用Python搭建一个服务器)

阅读(1)

本文主要为您介绍python发布服务器,内容包括python怎么发布到服务器,如何用Python做大文件上传的服务端,怎么将python部署在服务器上。利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:python -