如何用特殊字符填充tuple?字符串长度不足4时补#需求
解决Tuple列表中字符串填充问题:用'#'补全至长度4
嘿,这个需求其实用Python字符串内置的ljust()方法就能轻松搞定,一步到位!
首先看你的原始数据:
L1 = [(10955, 'A'), (10954, 'AB'), (10953, 'AB'), (10952, 'ABCD')]
最简洁的解法:列表推导式
直接遍历每个元组,对第二个元素使用ljust(4, '#')——这个方法会把字符串左对齐,如果长度不足4,自动在右侧用#填充到指定长度,完美匹配你的需求:
L1 = [(num, s.ljust(4, '#')) for num, s in L1]
另一种可选方案:map + lambda
如果你偏好函数式风格,也可以用map配合匿名函数实现:
L1 = list(map(lambda item: (item[0], item[1].ljust(4, '#')), L1))
验证结果
执行完上面的代码后,打印L1就能得到你想要的输出:
print(L1) # 输出:[(10955, 'A###'), (10954, 'AB##'), (10953, 'AB##'), (10952, 'ABCD')]
顺便提一句,如果需要右对齐填充(比如把'A'变成'###A'),只需要把ljust()换成rjust()就行,非常灵活!
内容的提问来源于stack exchange,提问作者Pravat
相关产品推荐
相关产品推荐

