解决Python对齐文本字符串问题


Posted in Python onAugust 28, 2019

问题

我们需要以某种对齐方式将文本做格式化处理。

解决方案

对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:

>>> text = 'Hello World'
>>> text.ljust(20)
'Hello World '
>>> text.rjust(20)
'   Hello World'
>>> text.center(20)
'  Hello World '
>>>

所有这些方法都可接受一个可选的填充字符。例如:

>>> text.rjust(20,'=')
'=========Hello World'
>>> text.center(20,'*')
'****Hello World*****'
>>>

format()函数也可以用来轻松完成对齐的任务。需要做的就是合理利用'<'、'>',或'^'字符以及一个期望的宽度值[2]。例如:

>>> format(text, '>20')
'   Hello World'
>>> format(text, '<20')
'Hello World '
>>> format(text, '^20')
'  Hello World '
>>>

如果想包含空格之外的填充字符,可以在对齐字符之前指定:

>>> format(text, '=>20s')
'=========Hello World'
>>> format(text, '*^20s')
'****Hello World*****'
>>>

当格式化多个值时,这些格式化代码也可以用在format()方法中。例如:

>>> '{:>10s} {:>10s}'.format('Hello', 'World')
' Hello  World'
>>>

format()的好处之一是它并不是特定于字符串的。它能作用于任何值,这使得它更加通用。例如,可以对数字做格式化处理:

>>> x = 1.2345
>>> format(x, '>10')
'  1.2345'
>>> format(x, '^10.2f')
'  1.23 '

讨论

在比较老的代码中,通常会发现%操作符用来格式化文本。例如:

>>> '%-20s' % text
'Hello World '
>>> '%20s' % text
'           Hello World'

但是在新的代码中,我们应该会更钟情于使用format()函数或方法。format()比%操作符提供的功能要强大多了。此外,format()可作用于任意类型的对象,比字符串的ljust()、rjust()以及center()方法要更加通用。

总结

以上所述是小编给大家介绍的解决Python对齐文本字符串问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python获得文件创建时间和修改时间的方法
Jun 30 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
如何在Python函数执行前后增加额外的行为
Oct 20 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
Jupyter 无法下载文件夹如何实现曲线救国
Apr 22 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
Python 操作 MySQL数据库
Sep 18 Python
Python如何使用ElementTree解析xml
Oct 12 Python
windows+vscode安装paddleOCR运行环境的步骤
Nov 11 Python
python中函数返回多个结果的实例方法
Dec 16 Python
python爬取微博评论的实例讲解
Jan 15 Python
python+jinja2实现接口数据批量生成工具
Aug 28 #Python
解决Atom安装Hydrogen无法运行python3的问题
Aug 28 #Python
opencv实现简单人脸识别
Feb 19 #Python
Atom Python 配置Python3 解释器的方法
Aug 28 #Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 #Python
Numpy的简单用法小结
Aug 28 #Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 #Python
You might like
php通用防注入程序 推荐
2011/02/26 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
js实现转动骰子模型
2019/10/24 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
python打开网页和暂停实例
2014/09/30 Python
Python异常学习笔记
2015/02/03 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
留学自荐信的技巧
2013/10/17 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
高中优秀作文(范文)
2019/08/15 职场文书