【发布时间】:2016-12-27 18:43:51
【问题描述】:
考虑到逗号,我有一组数字要对齐:
10 3
200 4000,222 3 1,5
200,21 0,3 2
30000 4,5 1
mylist = [['10', '3', '', ''],
['200', '4000,222', '3', '1,5'],
['200,21', '', '0,3', '2'],
['30000', '4,5', '1', '']]
我想要的是考虑逗号来对齐这个列表:
预期结果:
mylist = [[' 10 ', ' 3 ', ' ', ' '],
[' 200 ', '4000,222', '3 ', '1,5'],
[' 200,21', ' ', '0,3', '2 '],
['30000 ', ' 4,5 ', '1 ', ' ']]
我试着翻个单子:
mynewlist = list(zip(*mylist))
并在每个子列表中查找逗号后最长的部分:
for m in mynewlist:
max([x[::-1].find(',') for x in m]
并使用 rjust 和 ljust 但我不知道如何在逗号之后和 rjust 在逗号之前,两者都在同一个字符串中。
如何在不使用 format() 的情况下解决此问题? (我想与 ljust 和 rjust 对齐)
【问题讨论】:
-
@JimFasarakis-Hilliard,肯定 str.center 没问题。但是对齐中心没有如上的结果。
-
@JimFasarakis-Hilliard 你为什么要删除你的答案?看起来不错。我希望这只是暂时的。关于
sum(,[]):我发现使用起来很有趣,但问题是它每次都使用a = a+b而不是a+=b。
标签: python list python-3.x numbers alignment