Python如何对齐字符串

问题

你想通过某种对齐方式来格式化字符串

解决方案

对于基本的字符串对齐操作,可以使用字符串的 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() 同样可以用来很容易的对齐字符串。 你要做的就是使用 <,> 或者 ^ 字符后面紧跟一个指定的宽度。比如:

>>> 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() 方法更通用, 因为它可以用来格式化任意对象,而不仅仅是字符串。

如果想要完全了解 format() 函数的有用特性, 请参考 在线Python文档

以上就是Python如何对齐字符串的详细内容,更多关于Python对齐字符串的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python中字符串对齐方法介绍

    目的 实现字符串的左对齐,右对齐,居中对齐. 方法 字符串内置了以下方法:其中width是指包含字符串S在内的宽度,fillchar默认是空格,也可以指定填充字符 复制代码 代码如下: string.ljust(s, width[, fillchar]) string.rjust(s, width[, fillchar]) string.center(s, width[, fillchar]) 复制代码 代码如下: In [6]: a='Hello!' In [7]: print a.ljust

  • Python字符串格式化f-string多种功能实现

    f-string 格式化 f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入对应的数据对象. 如下所示 f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元' 完整的代码如下 salary = input('请输入薪资:') # 计算出缴税额,存入变量tax tax = int(salary) *25/100 # 计算出税后工资,存入变量aftertax aftertax = int(salary) *75/100

  • Python判断字符串是否为空和null方法实例

    判断python中的一个字符串是否为空,可以使用如下方法 1.使用字符串长度判断 len(s) ==0 则字符串为空 #!/user/local/python/bin/python # coding=utf-8 test1 = '' if len(test1) == 0: print '字符串TEST1为空串' else: print '字符串TEST1不是空串,TEST1:' + test1 2.isspace判断是否字符串全部是空格 Python isspace() 方法检测字符串是否只由空

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

    问题 我们需要以某种对齐方式将文本做格式化处理. 解决方案 对于基本的字符串对齐要求,可以使用字符串的ljust().rjust()和center()方法.示例如下: >>> text = 'Hello World' >>> text.ljust(20) 'Hello World ' >>> text.rjust(20) ' Hello World' >>> text.center(20) ' Hello World ' >&g

  • Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)

    问题描述 最近做一个项目,是用Python进行相关的串口操作.及将相关指令通过串口发给设备,设备根据发过来的指令来做出相应的操作,所用的库是Pyserial.在最初开发时,出现的问题在于:别人给的文档里面的命令是十六进制的.例如,给出一个指令: 5aa5 07 82 1000 3132 3334 . 那么,我们需要思考的是,我们如何将上面的指令,转换为pyserial库进行写操作时(write)所需要的bytes类型. 解决方法 首先,我们需要知道的是,我们首先,需要用字符串构造成上面的指令,然

  • Python字符串函数strip()原理及用法详解

    strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.strip([chars]) str = "*****this is **string** example....wow!!!*****" print (str.strip( '*' )) # 指定字符串 * 输出结果: this is **string** example....wow!!! 从结果上看,可以注意到中间部分的字符并未删除,只

  • Python 合并拼接字符串的方法

    问题 你想将几个小的字符串合并为一个大的字符串 解决方案 如果你想要合并的字符串是在一个序列或者 iterable 中,那么最快的方式就是使用 join() 方法.比如: >>> parts = ['Is', 'Chicago', 'Not', 'Chicago?'] >>> ' '.join(parts) 'Is Chicago Not Chicago?' >>> ','.join(parts) 'Is,Chicago,Not,Chicago?' &

  • 基于python实现判断字符串是否数字算法

    算法1 1.分小数和整数:如果小数点个数为1,则可能是小数.如小数点个数为0,则可能是整数.小数点个数非0也非1,那么就不是数字. 2.如果是小数,再分正数和负数的情况:如果首位为负号,则可能是负小数.如果首位不为负号,则可能是正小数. 1)如果首位为负号,则去掉负号. 2)如果首位不为负号:或者是首位为负号,去掉首位负号之后.则判断是否为是否为".",如果是,那么就不是数字,如果不是,就去掉"." 3)再判断剩下字符是否都在"0123456789&quo

  • Python如何对齐字符串

    问题 你想通过某种对齐方式来格式化字符串 解决方案 对于基本的字符串对齐操作,可以使用字符串的 ljust() , rjust() 和 center() 方法.比如: >>> text = 'Hello World' >>> text.ljust(20) 'Hello World ' >>> text.rjust(20) ' Hello World' >>> text.center(20) ' Hello World ' >&g

  • Python 专题三 字符串的基础知识

    在Python中最重要的数据类型包括字符串.列表.元组和字典等.该篇主要讲述Python的字符串基础知识. 一.字符串基础 字符串指一有序的字符序列集合,用单引号.双引号.三重(单双均可)引号引起来.如: s1='www.csdn.NET'   s2="www.csdn.Net"   s3='''aaabbb''' 其中字符串又包括: 1.转义字符串 像C语言中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,python也有转义字符.如下:   \

  • Python补齐字符串长度的实例

    如下所示: ljust(len,str)字符向左对齐,用str补齐长度 rjust(len,str)字符向右对齐,用str补齐长度 rjust(len,str)字符中间对齐,用str补齐长度 print 'bbb'.ljust(10,'a') 输出:bbbaaaaaaa print 'bbb'.rjust(10,'a') 输出:aaaaaaabbb print 'bbb'.center(10,'a') 输出:aaabbbaaaa zfill(width)指定字符串长度,右对齐,前面补充0 pri

  • python实现指定字符串补全空格、前面填充0的方法

    Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法:str.zfill(width) 参数width -- 指定字符串的长度.原字符串右对齐,前面填充0. 返回指定长度的字符串. 以下实例展示了 zfill()函数的使用方法: #!/usr/bin/python str = "this is string example....wow!!!"; print str.zfill(40); print str.zfill(50); 以

  • Python基础之字符串常见操作经典实例详解

    本文实例讲述了Python基础之字符串常见操作.分享给大家供大家参考,具体如下: 字符串基本操作 切片 # str[beg:end] # (下标从 0 开始)从下标为beg开始算起,切取到下标为 end-1 的元素,切取的区间为 [beg, end) str = ' python str ' print (str[3:6]) # tho # str[beg:end:step] # 取 [beg, end) 之间的元素,每隔 step 个取一个 print (str[2:7:2]) # yhn 原

  • python右对齐的实例方法

    例如,有一个字典如下: >>> dic = { "name": "botoo", "url": "//www.jb51.net", "page": "88", "isNonProfit": "true", "address": "china", } 想要得到的输出结果如下: name:bot

  • Python 如何在字符串中插入变量

    问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉. 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持. 但是通过使用字符串的 format() 方法来解决这个问题.比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >>> 或者,如果要被替换的变量能在变量域中找到, 那么你

  • 一文秒懂Python中的字符串

    摘要:本文将告诉您Python中的字符串是什么,并向您简要介绍有关该概念的所有知识. 因此,让我们开始吧. 什么是Python中的字符串? 我们许多熟悉C,C ++等编程语言的人都会得到诸如"字符串是字符的集合或字符数组"的答案. 在Python中也是如此,我们说的是String数据类型的相同定义.字符串是序列字符的数组,并写在单引号,双引号或三引号内.另外,Python没有字符数据类型,因此当我们编写" a"时,它将被视为长度为1的字符串. 继续本文,了解什么是P

  • Python基础之字符串格式化详解

    一.前言 Python的字符串格式化有两种方式:百分号方式 和 format方式 百分号的方式相对来说比较老, format方式则是相对比较先进,企图替换古老的方式,目前两者都支持. 二.百分号 %[(name)][flags][width].[precision]typecode """ (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐:正数前无符号,负数前加负号: 空格 右对齐:正数前加空格

  • Python二分查找+字符串模板+textwrap模块,

    目录 二分查找 字符串模板 textwrap 模块 按照空格统计词组个数 用 “0” 填充字符串 前言: 这个系列的专栏是为了保持 Python 手感而创建的,也可以用来学习 Python,因为存在知识跨越难度,所以先学习滚雪球系列为佳. 二分查找 问题场景 在一个升序的数组中(其实就是一个只有整数的列表),查找一个目标数的下标,不存在返回 -1 . 解决思路 因为数组是升序的,所以二分查找就能落地了 先取出数组中的中间值,与目标数比较大小,确定一半的范围 然后重复上述步骤不断缩小范围即可. 编

随机推荐