如何用特殊字符填充元组

时间:2019-01-30 15:55:08

标签: python python-3.x tuples

我有一个如下的元组:

L1 = [(10955, 'A'), (10954, 'AB'), (10953, 'AB'), (10952, 'ABCD')]

如果长度小于4,我想用'#'填充元组值。

我希望输出如下:

L1 = [(10955, 'A###'), (10954, 'AB##'), (10953, 'AB##'), (10952, 'ABCD')]

3 个答案:

答案 0 :(得分:2)

您可以使用以下列表推导方法,其中将符号"#"多次添加,以使字符串的长度为4:

[(i,j + '#'*(4-len(j))) for i,j in L1]
[(10955, 'A###'), (10954, 'AB##'), (10953, 'AB##'), (10952, 'ABCD')]

答案 1 :(得分:2)

您可以使用内置的字符串方法ljust

[(x, y.ljust(4, '#')) for x, y in L1]

[(10955, 'A###'), (10954, 'AB##'), (10953, 'AB##'), (10952, 'ABCD')]

答案 2 :(得分:1)

[(x, y.ljust(4, '#')) for x, y in L1]

我认为它类似于How can I fill out a Python string with spaces?

str.ljust(width[, fillchar])是关键。