`
sls0919
  • 浏览: 125873 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python dict输入顺序

阅读更多

最近在用python编程碰到这样的问题

 

>>> d={}
>>> d['c'] = 1
>>> d
2: {'c': 1}
>>> d['d']=2
>>> d
3: {'c': 1, 'd': 2}
>>> d['b']=4
>>> d
4: {'b': 4, 'c': 1, 'd': 2}

 

 而我要的结果是按照我输入的顺序显示为:{'c': 1, 'd': 2, 'b': 4}

虽然python的dict是无序的,但是它不会根据你的输入顺序去展示。

解决办法:

引用python的collections

 

>>> d=collections.OrderedDict()
>>> d['c']=1
>>> d['d'] =2
>>> d['b']=4
>>> d
5: OrderedDict([('c', 1), ('d', 2), ('b', 4)])
#当往前台传递时
>>> json.dumps(d)
7: '{"c": 1, "d": 3, "b": 2}'

在dumps时可能会碰到了一个这样的encode的问题,虽然已经将编码转换成了utf-8但是,还是通不过。

查看了一下python docs,发现在json.dumps里面有一个ensure_ascii的参数,把它设为False就可以了。

写道
json.dumps(d, ensure_ascii=False)

   

 *在对从redis取出的数据进行eval的时候,将会把orderdict改变为dict,从而会导致排序混乱

0
6
分享到:
评论

相关推荐

    在python中利用dict转json按输入顺序输出内容方式

    ### 在Python中利用dict转json按输入顺序输出内容方式 #### 一、背景与问题引入 在使用Python处理数据时,经常会遇到需要将字典(dict)类型的数据转换为JSON格式的情况。然而,默认情况下,Python中的字典是无序的...

    Python Dict用法.rar

    - 字典是无序的,但在Python 3.7及以后版本,插入顺序被保留 - 字典的键必须是不可变类型,如字符串、数字或元组,而值可以是任意类型 - 使用`defaultdict`类(`from collections import defaultdict`)可以为不...

    python基础教程:在python中利用dict转json按输入顺序输出内容方式.pdf

    在Python编程中,将字典(dict)转换成JSON(JavaScript Object Notation)格式是一种常见的数据交换操作。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Python中,我们可以使用...

    python基础教程:在python中利用dict转json按输入顺序输出内容方式

    今天小编就为大家分享一篇在python中利用dict转json按输入顺序输出内容方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 一般常规的我们保存数据为dict类型时,系统会自动帮我们排序;但有时...

    python2_python_

    7. **输入函数**:Python 3的`input()`函数直接读取用户输入,而在Python 2中,`raw_input()`函数获取用户输入的原始字符串。 8. **super()**:Python 3的`super()`函数更方便地处理类继承,Python 2中的使用方式...

    python3.9安装包

    安装完成后,可以通过命令行输入`python --version`来验证Python 3.9是否已成功安装。 总之,Python 3.9不仅增强了语言的表达力和性能,还提供了更多方便开发者的工具和改进。无论是初学者还是经验丰富的开发者,都...

    python查询笔画数(含汉字编码表)

    在实际应用中,可能还需要考虑如何优化查询性能,处理无法找到的汉字,以及对用户输入的合法性检查等问题。对于汉字编码表和笔画数据库的维护,也可能需要定期更新以保持最新。总的来说,理解和操作汉字编码以及利用...

    python3.6.5.zip

    3. **Dict更新操作优化**:Python 3.6对字典(dict)的更新操作进行了优化,使得插入和查找速度更快,尤其是对于大型字典。 4. **新的时间表示方式**:`datetime`模块新增了`date.fromisoformat()`和`time....

    python2.x与python3.x的区别

    Python 3.x 还对内置的 `dict` 类型进行了优化,使得字典操作更快,特别是添加新的键值对。同时,字典迭代顺序在 3.7 版本后变得可预测,与插入顺序一致。 总的来说,Python 3.x 的这些变化提高了语言的清晰度、...

    python官方3.5.0b1-amd64版本exe安装包

    - **增强的字典**:字典现在支持新的方法,如`dict.update()`的并发安全版本`dict.setdefault()`,以及`dict.popitem(last=False)`,可以按插入顺序迭代字典。 - **类型注解**:Python 3.5正式支持类型注解,有助于...

    第六章:Python字典

    Python字典是编程语言中非常重要的数据结构,它以键值对的形式存储数据,不同于列表等其他序列类型,字典不依赖于元素的顺序,而是通过键来访问对应的值。在Python中,字典的创建通常使用大括号 `{}` 来实现。 一、...

    Python3.6.2-64位

    - 安装完成后,通过命令行输入`python`或`python3`来验证安装是否成功。 4. **Python环境配置**: - 安装完成后,可以通过IDLE(Python的集成开发环境)进行编程。 - 配置Python开发环境,比如使用VSCode、...

    python 安装包

    4. **Dict Changes**:字典(dict)的插入顺序现在被保留,这使得字典变得更加有序,对于某些情况下的数据处理更有利。 5. **PEP 498 (Literal String Interpolation)**:f-string的引入是这个PEP的一部分,它增强...

    Python基础训练100题(带答案).docx

    - **题目**:输入三个整数,按照从小到大的顺序输出。 - **程序分析**: - 使用内置的排序函数。 - 或者使用条件语句比较每个数,调整顺序。 - **代码示例**: ```python def sort_three_numbers(a, b, c): ...

    python官方3.6.4版本exe安装包

    4. **字典和集合的有序性**:从Python 3.6开始,字典(dict)保持插入顺序,集合(set)在迭代时也有顺序,这使得数据结构的行为更符合预期。 5. **改进的内存管理**:Python 3.6优化了内存分配,尤其是对于小对象...

    Python中xml和dict格式转换的示例代码

    例如,可以封装一个函数,接受XML或dict类型的数据,并根据输入的数据类型执行相应的转换。 总之,Python中XML与dict的转换是一个实用的技能,可以帮助开发者在处理网络请求和数据交换时更加灵活高效。通过使用...

    python3.7安装

    4. **字典排序保证**:在Python 3.7中,字典(dict)的迭代顺序现在与插入顺序保持一致,这遵循了PEP 508。 5. **改进的模块导入系统**:引入了`__getattr__`方法,允许更灵活地处理模块导入错误,同时提高了性能。...

    最新python-3.7.4 for windows安装包

    2. **字典与集合的更新**:Python 3.7开始,字典(dict)保持插入顺序,这在处理有序数据时非常有用。同时,集合(set)操作也更高效,如并集(union)、交集(intersection)等操作速度更快。 3. **数据类(Data ...

    python3.7

    1. **变量赋值语句的顺序性(Assignment Statements Are Now Order-Preserving)**:在Python 3.7中,字典的插入顺序被保留下来,这意味着字典现在是有序的,这在处理数据结构时带来了更多的可预测性。 2. **数据类...

Global site tag (gtag.js) - Google Analytics