私はPythonを学んでいます。これは私の最初のstackoverflowの質問でもあり、私の要件を示すために出力をフォーマットすることに苦労しています。 コンマで区切られた値を持つ文字列を、次のようなレベル階層の表示データに変換するPythonコードを書いています。pythonオープンとクローズのカッコに基づいてコンマで区切られた文字列のディレクトリ構造を表示
s = "(id,cb,e(id,fn,eT(id), ln),lc)"
私はこの
-id
-cb
-e
--id
--fn
--eT
---id
--ln
-lc
のような出力がこれまでのところ、私はいくつかのコーディングを行っているが、私はそれを改善するために苦労していたいです。
class parent-child():
stack = []
def tree_recur(self,employee, level):
s = s[s.index("(")+1:s.rindex(")")]
ind = 0
while(s.rstrip != null or s != ""):
ss = s.index(",")
words = s[ind:ss]
parenind = words.index("(")
if parenind == -1:
stack.append(level,words)
s = s[ss+1:len(s)]
else:
stack.append(s[ss+1:parenind-1])
closeparenind = s.index(")")
ss1= s[parenind:closeparenind]
return tree_recur(self,ss1,level+1)
def main():
s = "(id,created,employee(id,firstname,employeeType(id), lastname),location)"
level = 0
print(E = parent-child(s, level))
main()
このコードを改善するのに助けてもらえますか?私はレベルの深さに応じて文字列の前に " - "をどのように印刷するのか分かりません。レベル1のハイフン、レベル2のハイフン2つ、ハイフン3のレベル3、カッコが閉じているときにレベルを上げます。私はあなたのお手伝いと時間を助けてくれたことに感謝します。
あなたの助けと簡単なコードをありがとう – jtmingus