python规范化字符串_如何规范化python中的字符串列表?

从您的输入数据开始:

>>> d = (

("row a","a long string")

)

进行一次通过以确定每列的最大大小:

>>> col_size = {}

>>> for row in d:

for i,col in enumerate(row):

col_size[i] = max(col_size.get(i,0),len(col))

>>> ncols = len(col_size)

然后进行第二遍,将每列填充到所需的宽度:

>>> result = []

>>> for row in d:

row = list(row) + [''] * (ncols - len(row))

for i,col in enumerate(row):

row[i] = col.ljust(col_size[i])

result.append(row)

这给出了期望的结果:

>>> from pprint import pprint

>>> pprint(result)

[['row a ','a1','a2','a3 '],['another row','b1',' ',' '],['c ','x ','y ','a long string']]

为了方便起见,这些步骤可以组合成一个功能:

def align(array):

col_size = {}

for row in array:

for i,len(col))

ncols = len(col_size)

result = []

for row in array:

row = list(row) + [''] * (ncols - len(row))

for i,col in enumerate(row):

row[i] = col.ljust(col_size[i])

result.append(row)

return result

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值