python中键值对D={'a':1,'b':2,'c':3}是没有排序的。每次输出D显示均显示为{'a':1,'c':3,'b':2}是为什么

作者&投稿:汉睿 (若有异议请与网页底部的电邮联系)
python字典键值对,转化为相应的变量名和变量值~

globals().update({"name":"value"})
locals().update({"var":"val"})

s = {"a":"bb","b":"cc","c":"aa"}def fun(s):d = sorted(s.iteritems(),key=lambda t:t[1],reverse=False)return dd = fun(s)print d
iteritems() 得到的[(键,值)]的列表, 通过sorted方法,指定排序的键值key是原来字典中的value属性,其中用到了匿名函数lambda, 参数为t列表,返回第二个元素t[1],也就是每个键值对中的value, 从小到大排序时 reverse=False,从大到小排序是True!

Python [1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面)
然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

字典本身就是无序的,想让字典排序可以使用

sorted(dic,value,reverse)函数

按照键值排序:
print sorted(D.iteritems(),key = lambda asd:asd[0])                
[('a', 1), ('b', 2), ('c', 3)]

print sorted(D.iteritems(),key = lambda asd:asd[0],reverse=True)
[('c', 3), ('b', 2), ('a', 1)]

按照values排序:
print sorted(D.iteritems(),key = lambda asd:asd[1])             
[('a', 1), ('b', 2), ('c', 3)]

print sorted(D.iteritems(),key = lambda asd:asd[1],reverse=True)
[('c', 3), ('b', 2), ('a', 1)]


在同一个运行环境下,因为其初始化机制一样,所以相同。

键值对Dict本来就是无序的,要有序的话就用OrderedDict

dict是一种散列表结构,就是说数据输入后按特征已经被散列了,有自己的顺序。本身不记录原输入顺序。
如果一定需要输入顺序,建议
方案1,不使用dict,使用元组的列表,比如[('sam',''),('beta',''),('ccc',''),('abc','')]
这种结构是记录输入顺序的、有序的,也能方便地转换成dict。

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


append在python中的用法
如果要向集合中添加元素,可以使用add函数。集合中的元素是无序且不重复的。如果要添加多个元素,可以使用update函数。在字典中,也不存在append函数。如果要向字典中添加键值对,可以直接使用下标运算符。如果键已经存在于字典中,则会更新对应的值;如果键不存在,则会添加新的键值对。在Python中,append...

tuple在python中的用法
正确的创建单元素元组需要在元素后添加逗号,如 `a=(1,)`。Python中常见的数据结构还包括列表(List)、字典(Dict)和集合(Set)。列表类似于动态数组,可以动态添加或删除元素,定义方式为`a=[]`。而元组是有序但不可变的,如`a=(1, 3)`。字典是一种键值对结构,键是唯一的,且不可变,...

Python入门必备知识点有哪些?
列表:元素可变(任何数据类型),有序(可索引)append\/insert\/pop;元组:元素不可变但元素中的可变元素是可变的;有序(可索引);而且组可以被散列,例如作为字典的键。集合:无序(不可被索引)、互异字典:无序,键值对(key: value),key唯一不可重复 9、怎样理解字典和列表?它们是一种用来创建可变对象的...

Python中内置数据类型list,tuple,dict,set的区别和用法
Dict是Python中非常重要的数据类型,就像它的字面意思一样,它是个活字典,其实就是Key-Value键值对,类似于HashMap,可以用花括号{}通过类似于定义一个C语言的结构体那样去定义它:>>> d = {'Adam': 95,'Lisa': 85,'Bart': 59,'Paul': 75}>>> print d{'Lisa': 85, 'Paul': 75, 'Adam': 95, '...

Python要输入的键值对太多,有什么方便办法?
键值对就是一个键,一个值,创建也就是输入这两个值。还能怎么方便?

Python 简明教程 ---13,Python 集合
目录 前几节我们已经介绍了Python 中的 列表list , 元组tuple 和 字典dict ,本节来介绍Python 中的最后一种数据结构—— 集合set 。Python 中的 set 与 dict 很像,唯一的不同是, dict 中保存的是 键值对 ,而 set 中只保存 键 ,没有 值 。Python 集合 有如下特点:Python ...

python中的数据类型
3、列表:用一对"[ ]"将单个或多个元素括起来,每个元素之间用逗号分隔开。4、元组:元组用一对"( )"将单个或多个元素括起来,每个元素之间用逗号分隔开来,另外元组创建完毕后,元素不可修改,这点与列表大不相同。5、字典:字典的每个键值对(key=>value)用冒号(:)分割,每个对之间用逗号(,)...

python里出现keyerror
解释:一、什么是KeyError?在Python中,当你尝试通过字典获取一个不存在的键的值时,就会引发KeyError。字典是一种存储键值对的数据结构,每个键在字典中必须是唯一的。如果尝试访问的键不存在于字典中,Python就会抛出KeyError。二、为什么会发生KeyError?出现KeyError的原因主要有以下几种情况:1. 拼写...

python中len()的用法
len()作用:返回字符串、列表、字典、元组等长度。语法:len(str)。参数:str:要计算的字符串、列表、字典、元组等。返回值:字符串、列表、字典、元组等元素的长度。计算字符串的长度。计算列表的元素个数。计算字典的总长度,即键值对总数。计算元组元素个数。在Python中,要知道一个字符串有多少...

python中len()的用法
my_list=[1,2,3,4,5]my_tuple=(10,20,30,40)print(len(my_list))#输出:5 print(len(my_tuple))#输出:4 对于字符串 对于字符串,len()函数返回字符串中字符的数量。例如:my_string="Hello,World!"print(len(my_string))#输出:13 对于字典 对于字典,len()函数返回字典中键值对的...

铁西区18529074475: python 在一个字典里,返回值最小元素对应的键,救解
微店依诺: 假定字典d为: d = {'a': '7', 'e': '3', 'd': '8', 'g': '7', 'f': '1', 'j': '2', 'l': '9', 'w': '4'} 那么取值最小元素对应的键值对: min(d.items(), key=lambda x: x[1]) 得到 ('f', '1') 取值最小元素对应的键,就是: min(d.items(), key=lambda x: x[1])[0] 'f'

铁西区18529074475: 求python 字典 中根据值的大小,按顺序排列键的方法 -
微店依诺: 1 2 3 4 5 6 7s ={"a":"bb","b":"cc","c":"aa"} deffun(s):d =sorted(s.iteritems(),key=lambdat:t[1],reverse=False)returndd =fun(s) printd iteritems() 得到的[(键,值)]的列表, 通过sorted方法,指定排序的键值key是原来字典中的value属性,其中用到了匿名函数lambda, 参数为t列表,返回第二个元素t[1],也就是每个键值对中的value, 从小到大排序时 reverse=False,从大到小排序是True!

铁西区18529074475: python中如何匹配存在目标键值的dict? -
微店依诺: 解决方法如下: dic1={"little":"111"} dic2={"little":"abcd"} dic3={"little":"abc"}arr=[dic1,dic2,dic3]for dicc in arr:if dicc.has_key("little"):value=dicc["little"]if value=="abc":print dicc1. 建议把数据放到list里面,list是最灵活的一种数据结构;2. 首先创建list将数据加载进来; 3. 然后依次遍历dict,查看是否存在键值; 4. 如果存在,取出值进行比较; 5. 如果是“abc”,打印输出,或者做其他操作.

铁西区18529074475: 关于python 的 key in dict 问题
微店依诺: 可以使用dict.keys(),像这样: >>> d = {'a': 1, 'b': 2}>>> 'a' in d.keys()True换行符被吃掉了,再写一次: 'a' in d.keys()

铁西区18529074475: python中“>>=”和“<<=”符号是什么意思? -
微店依诺: >> 和 <<< 是左移,末位补0,类比十进制数在末尾添0相当于原数乘以10,x<<1是将x的二进制表示左移一位,相当于原数x乘2.比如整数4在二进制下是100,4<<1左移1位变成1000(二进制),结果是8. >>是右移,右移1位相当于除以2. 而>>=和<<=,就是对变量进行位运算移位之后的结果再赋值给原来的变量,可以类比赋值运算符+=和-=可以理解. 比如x>>=2, 就是把变量x右移2位,再保留x操作后的值.

铁西区18529074475: Python中ft和fh是什么意思 -
微店依诺: 看函数名是迭代输出字典的键值对.for k,v in dict.iteritems(): print k,v是迭代器函数.可以在for循环内使用,单独使用的方法:iter = dict.iteritems()iter.next()来获得键值对.

铁西区18529074475: 自定义键值对 -
微店依诺: 以前有两处需要修改第一个第一个是main的char *c要改成c[100]它的大小尽量大一点,因为strcmp只支持数组的比较还有就是for里的else的i++去掉具体修改如下#include "stdio.h"#include "malloc.h"#include "string.h" int num=0; typedef ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网