在编程中,为了清晰和视觉组织,通常需要在固定列中对齐字符串。本文探讨了如何使用 Python 中的高级格式化技术来实现此目的。
考虑以下代码,该代码计算给定字符串中所有排列的频率:
# Original code to generate permutations ... # Printing results unique = sorted(set(el)) for prefix in unique: if prefix != "": print("value ", prefix, "- num of occurrences = ", string.count(str(prefix)))
但是,由于字符串长度不同,输出可能会出现未对齐的情况:
value a - num of occurrences = 1 value ab - num of occurrences = 1 value abc - num of occurrences = 1 value b - num of occurrences = 1 value bc - num of occurrences = 1 value bcd - num of occurrences = 1 value c - num of occurrences = 1 value cd - num of occurrences = 1 value d - num of occurrences = 1
要对齐输出,我们可以使用 str具有特定格式说明符的 .format 方法:
# Using str.format for alignment print("{0: <5}".format("value ") + "{1: >15}".format(prefix) + "- num of occurrences = " + "{2: <5}".format(string.count(str(prefix))))
格式说明符:
编辑 1: “{0: <5}”中的“0”指的是传递给 str.format() 的参数的索引。
编辑 2:Python 3 引入f-string 作为 str.format 的简洁替代品:
# Using f-strings for alignment print(f"{'value ':<5}" + f"{prefix:>15}" + "- num of occurrences = " + f"{string.count(str(prefix)):<5}")
优点:
以上是如何在Python中实现打印字符串的固定宽度对齐?的详细内容。更多信息请关注PHP中文网其他相关文章!