由于Python 3.0和3.1已停产,并且没有人使用它们,因此您可以并且应该使用str.format_map(mapping)(Python 3.2+):

与相似str.format(**mapping),除了直接使用映射而不将其复制到dict。例如,如果映射是dict子类,则这很有用。

这意味着您可以使用例如defaultdict为丢失的键设置(并返回)默认值的a:

>>> from collections import defaultdict

>>> vals = defaultdict(lambda: '', {'bar': 'baz'})

>>> 'foo is {foo} and bar is {bar}'.format_map(vals)

'foo is and bar is baz'

即使提供的映射是dict,而不是子类,也可能会稍快一些。

鉴于给定,差异并不大

>>> d = dict(foo='x', bar='y', baz='z')

然后

>>> 'foo is {foo}, bar is {bar} and baz is {baz}'.format_map(d)

大约比10 ns(2%)快

>>> 'foo is {foo}, bar is {bar} and baz is {baz}'.format(**d)

在我的Python 3.4.3上。当字典中有更多键时,差异可能会更大,并且

注意,格式语言比它灵活得多。它们可以包含索引表达式,属性访问等,因此您可以格式化整个对象或其中两个:

>>> p1 = {'latitude':41.123,'longitude':71.091}

>>> p2 = {'latitude':56.456,'longitude':23.456}

>>> '{0[latitude]} {0[longitude]} - {1[latitude]} {1[longitude]}'.format(p1, p2)

'41.123 71.091 - 56.456 23.456'

从3.6开始,您也可以使用插值字符串:

>>> f'lat:{p1["latitude"]} lng:{p1["longitude"]}'

'lat:41.123 lng:71.091'

您只需要记住在嵌套引号中使用其他引号字符。这种方法的另一个好处是,它比调用格式化方法要快得多。

python使用字典格式化字符串-如何在python-3.x中使用字典格式化字符串?相关推荐

  1. python试题for循环布尔值_Python自我修炼(升仙中....整数,布尔值,字符串,for循环)

    索引(下标) 索引就是下标,下标从0开始,取值时索引所选长度不可以超过其本身. s1 = "python学习" print(s1[0]) # 获取第0个索引所对应的的元素. pri ...

  2. python右对齐 数字_如何在Python中右对齐数值数据?

    我有一些数据,我显示在3列格式,形式"键:值键:键:值键:值".这里有一个例子: p: 1 sl: 10 afy: 4 q: 12 lg: 10 kla: 3 r: 0 kl: 1 ...

  3. python怎么安装pandas模块-如何在Python 3中安装pandas包和使用数据结构

    介绍 Python pandas包用于数据操作和分析,旨在让您以更直观的方式处理标记或关系数据. 基于numpy软件包构建,pandas包括标签,描述性索引,在处理常见数据格式和丢失数据方面特别强大. ...

  4. python 指定证书验证_如何在python中验证SSL证书?

    我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...

  5. python队列怎么用_如何在Python中使用多处理队列? - python

    我很难理解多处理队列如何在python上工作以及如何实现它.假设我有两个python模块,它们从共享文件中访问数据,我们将这两个模块称为writer和Reader.我的计划是让读取器和写入器都将请求放 ...

  6. python隐藏启动台_如何在Python中启动后台进程?

    如何在Python中启动后台进程? 我正在尝试将shell脚本移植到更易读的python版本. 原始shell脚本在后台使用"&"启动多个进程(实用程序,监视器等). 如何 ...

  7. python读取ansi编码文件,如何在Python中同时读取ANSI和Unicode txt文件?

    我是python新手,遇到了一个奇怪的问题: 当一个目录中有50个txt文件时,我希望读取每个.txt文件并将其内容保存在一个唯一的变量中,例如:**file = open(fcf[i], 'r') ...

  8. python获取当前时间戳_如何在Python中获取当前时间戳?

    在Python中可以使用来自模块time.datetime或calendar的函数来获取当前时间戳,代码语句如[import time;ts = time.time() print(ts)]. 在Py ...

  9. python静态变量计数器_如何在Python中使用静态变量在计数

    今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...

  10. python列表元素求和_如何在python语言使用不同方法实现列表元素求和

    在使用python语言列表时,如果列表中的元素都是数值类型,可以对元素进行求和.下面利用不同的方法实现列表元素求和: 工具/原料 python pycharm 截图工具 方法/步骤 1 第一步,在已创 ...

最新文章

  1. python 数据结构
  2. Spring学习3之IOC创建对象的方式
  3. Windows下用VS2013加载caffemodel做图像分类
  4. matlab 集成学习方法,将simulink集成到matlab脚本中
  5. 如何使用代码区分service contract和service contract quotation
  6. 一个有趣的问题,讨论讨论
  7. python写的贪吃蛇小游戏_Python贪吃蛇小游戏
  8. Java 监测某个方法的执行时间
  9. 变成一列_VBA实践(6)--excel横向排列的数据表变成竖向排列
  10. 2 年 6 个月 11 天,外包到阿里的修仙之路!| 原力计划
  11. java listener 原理_Java三大器之监听器(Listener)的工作原理和代码演示
  12. python 判断健在循环字典的第几层_2.关于python的if判断,循环总结。
  13. 【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?
  14. js动态生成html表格
  15. 经验分享:《节奏大师》UI优化历程
  16. 北京定点医疗机构查询
  17. 高德地图 API,点击地图标记获取自定义标记 (Marker) 中的信息
  18. 日期和时间范围区间怎么查询
  19. 什么是坐标系,不同坐标系之间有什么区别
  20. 选择了软件测试,你后悔吗?

热门文章

  1. 字符流Reader对象创建子类及方法
  2. 读书笔记 - 《21世纪的管理挑战》
  3. 离线地图解决方案(二):地图基本控制
  4. Filebeat的下载(图文讲解)
  5. 问得最多的十个JavaScript前端面试问题
  6. Gson源码分析之Json结构抽象和注解使用
  7. 记录下openstack部署和使用时遇到的一些问题
  8. Android:九宫格
  9. 解决无法连接到远程SqlServer 2005 Express服务器的问题
  10. 扩展Ext2类 Extending Ext2 Class