python:漂亮打印深层嵌套字符串(mastermind游戏)

问题描述 投票:0回答:1

这是一个深层嵌套的长字符串......

{HHCAA:{00:GGEDB:{00:FFFFF,01:DFDFF:{...

请参阅此链接以获取完整的字符串>>> mastermind github string

这个字符串与这个原始问题相关>>> Mastermind Strategy

如何打印字符串,以便我们可以跟进到最后并使其成为查找表...例如我想找到第一个00, 01, 02, 03 and so on...

请看下面的一些摘录:

{HHCAA: {00:GGEDB:{00:FFFFF,01:xxxx...}}}}, 01:DCDCB:{00:EEHFF:xxxx 02:xxxx 03:xxxx

在第1列打印的第一个嵌套大括号,缩进它为下一个打印5个空格,然后再次缩进..然后再次返回到第1列..并再次开始缩进等,或使其成为表格。

python nested text-parsing
1个回答
0
投票

Python的标准漂亮打印工具将为嵌套对象创建缩进的多行输出,但不会为字符串创建,因为无法事先知道什么代表嵌套在“深度嵌套”字符串中。

假设花括号({})是定义嵌套的分隔符,您有两个选择:

  1. 将您的字符串转换为python字典并使用pprint.pprint
  2. 编写自己的工具来解析字符串并生成输出。如果你只对花括号感兴趣,你只需要维护一个跟踪嵌套级别的计数器,增加{并递减}。这使您可以随时计算所需的缩进。如果在您的示例中,当您找到{时,并不总是移动到新行,则需要添加一些逻辑。
© www.soinside.com 2019 - 2024. All rights reserved.