当前位置:首页 >> 脚本专栏

python右对齐的实例方法

例如,有一个字典如下:

> dic = {
"name": "botoo",
"url": "//www.jb51.net",
"page": "88",
"isNonProfit": "true",
"address": "china",
}

想要得到的输出结果如下:

name:botoo
url:https:www.jb51.net
page:88
isNonProfit:ture
address:china

首先获取字典的最大值max(map(len, dic.keys()))

然后使用

Str.rjust() 右对齐

或者

Str.ljust() 左对齐

或者

Str.center() 居中的方法有序列的输出。

> dic = {
  "name": "botoo",
  "url": "//www.jb51.net",
  "page": "88",
  "isNonProfit": "true",
  "address": "china",
  }
> 
> d = max(map(len, dic.keys())) #获取key的最大值
> 
> for k in dic:
  print(k.ljust(d),":",dic[k])
   
name    : botoo
url     : //www.jb51.net
page    : 88
isNonProfit : true
address   : china
> for k in dic:
  print(k.rjust(d),":",dic[k])
   
    name : botoo
    url : //www.jb51.net
    page : 88
isNonProfit : true
  address : china
> for k in dic:
  print(k.center(d),":",dic[k])
   
  name  : botoo
  url   : //www.jb51.net
  page  : 88
isNonProfit : true
 address  : china
>

关于 str.ljust()的用法还有这样的;

> s = "adc"
> s.ljust(20,"+")
'adc+++++++++++++++++'
> s.rjust(20)
'adc'
> s.center(20,"+")
'++++++++adc+++++++++'
>

知识点扩展:

python中对字符串的对齐操作

ljust()、rjust() 和 center()函数分别表示左对齐、右对齐、居中对齐

str.ljust(width[, fillchar]):左对齐,width -- 指定字符串长度,fillchar -- 填充字符,默认为空格;
str.rjust(width[, fillchar]):右对齐,width -- 指定字符串长度,fillchar -- 填充字符,默认为空格;
str.center(width[, fillchar]):居中对齐,width -- 字符串的总宽度,fillchar -- 填充字符,默认为空格。

test = 'hello world'
print(test.ljust(20))
print(test.ljust(20, '*'))
print(test.rjust(20, '*'))
print(test.center(20, '*'))
print(test.center(20))
 
#输出结果如下:
hello world*********
*********hello world
****hello world*****
  hello world