加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

是否有更多的Pythonic方法使用string.format将字符串填充到可变

发布时间:2020-12-20 12:20:29 所属栏目:Python 来源:网络整理
导读:我想将一个字符串填充到一定的长度,具体取决于变量的值,我想知道是否有一个标准的 Pythonic方法使用string.format mini-language来完成此操作.现在,我可以使用字符串连接: padded_length = 5print(("n{:-" + str((padded_length)) + "}").format("abc"))#
我想将一个字符串填充到一定的长度,具体取决于变量的值,我想知道是否有一个标准的 Pythonic方法使用string.format mini-language来完成此操作.现在,我可以使用字符串连接:

padded_length = 5
print(("n{:-<" + str((padded_length)) + "}").format("abc"))
# Outputs "abc--"

padded_length = 10
print(("n{:-<" + str((padded_length)) + "}").format("abc"))
#Outputs "abc-------"

我试过这个方法:

print(("{:-<{{padded_length}}}".format(padded_length = 10)).format("abc"))

但它引发了一个IndexError:tuple索引超出范围异常:

Traceback (most recent call last):
  File "<pyshell#41>",line 1,in <module>
    print(("{:-<{{padded_length}}}".format(padded_length = 10)).format("abc"))
IndexError: tuple index out of range

除了字符串连接之外,还有一种标准的,内置的方法吗?第二种方法应该有效,所以我不确定它为什么会失败.

解决方法

print(("n{:-<{}}").format("abc",padded_length))

你尝试的另一种方式应该这样写

print(("{{:-<{padded_length}}}".format(padded_length=10)).format("abc"))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读