【问题标题】:How do I format this so no spaces are made in python如何格式化它,以便在 python 中没有空格
【发布时间】:2020-10-11 19:10:52
【问题描述】:

例如,

def __str__(self):
    return "{} {} {} {}".format(self.title, self.year, self.rating, self.duration)

# Title                         Viewed      Rating      Duration (hours)
------------------------------------------------------------
1 ADA                             2050        3           1.5
2 B                             2020        4           4.5
3 C                             2040        5           2.5

我希望标题、观看次数、评分和持续时间保持平衡,并且不让标题 ADA 将年份、评分和持续时间向右推(甚至不让它们被推开) .我该怎么办?

【问题讨论】:

  • 我不明白;现有空间从何而来?不管怎样,你有没有尝试阅读the documentation
  • 将字段宽度放入格式中。例如,`"{:20} {:6} {:4} {:6}"
  • 解决了,汤姆感谢它,伙计
  • @dasfoogle 很高兴它有帮助。您还可以指定其他信息(对齐方式、小数宽度等) - 您可以阅读 herehere
  • 哦哇这个信息太恶心了再次感谢

标签: python string format


【解决方案1】:

您可以尝试使用escape characters 来格式化标签。

def __str__(self):
  return "{}\t\t\t{}\t{}]\t{}".format(self.title, self.year, self.rating, self.duration)

如果你用谷歌搜索escape characters,你会发现一堆有趣的东西可以插入到字符串中。

希望这对您有所帮助/正是您想要的。

【讨论】:

  • 这是一个糟糕的解决方案,对于变化 8 或更多的宽度会失败。使用显式字段宽度是显而易见的解决方案。它还会在输出中放置硬制表符,这是不可取的。
  • 它甚至会在宽度为 7 和 9 时失败 - 结果列不会对齐。
猜你喜欢
  • 2014-09-16
  • 2019-09-25
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多