【问题标题】:How do I right align my string? in python [duplicate]如何正确对齐我的字符串?在 python [重复]
【发布时间】:2021-04-25 02:37:46
【问题描述】:

到目前为止,我已经得到了这个,我在让输出打印右对齐时遇到了问题。

我尝试使用.rjust 让我的输出显示如下:

        abc
         de
  fghijklmn

但它显示如下:

abc
de
fghijklmn

这是我迄今为止尝试过的:

strings = ['abc', 'de', 'fghijklmn']
col_umn = ("\n".join(strings))
rcol_umn = (col_umn.rjust(max(len(ele) for ele in strings)))
width = max(len(ele) for ele in strings)
fillchar = " "
print(col_umn.rjust(5, fillchar))
length = max(strings)
res = max(len(ele) for ele in strings)
print(" ")
print(str(res))

【问题讨论】:

  • 您需要证明每个单独的字符串,而不是所有连接在一起的字符串。

标签: python python-3.x


【解决方案1】:

您可以将字符串格式化为在 f 字符串内填充和对齐。在这种情况下,我使用> 捐赠右对齐并使用longest 的值告诉它填充/对齐多少

strings = ['abc', 'de', 'fghijklmn']
longest = len(max(strings, key=len))
print("\n".join([f"{string: >{longest}}" for string in strings]))

输出

      abc
       de
fghijklmn

【讨论】:

  • max(strings) 不会给你最长的字符串尝试max(strings, key=len) 代替
  • 好地方@AbdulAzizBarkat 已更新
猜你喜欢
  • 2020-12-25
  • 2016-01-06
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
  • 2020-12-03
  • 2016-03-28
  • 2016-11-05
相关资源
最近更新 更多