gpt4 book ai didi

python - 删除最后一个字符在连接后循环的第一次运行中不起作用

转载 作者:行者123 更新时间:2023-11-28 18:07:19 26 4
gpt4 key购买 nike

我正在尝试添加或删除缩进以更易读的方式显示数据,但在每次连接后首先尝试从字符串中删除最后一个 char 不起作用。我确定我做错了什么,但我看不到什么。

array = [['1.1', 'val 1.1'], ['1.2', 'val 1.2', [['1.2.1', 'val 1.2.1', [['1.2.1.1', 'val 1.2.1.1'], ['1.2.1.2', 'val 1.2.1.2', [['1.2.1.2.1', 'val 1.2.1.2.1'], ['1.2.1.2.2', 'val 1.2.1.2.2']]], ['1.2.1.3', 'val 1.2.1.3']]], ['1.2.2', 'val 1.2.2'], ['1.2.3', 'val 1.2.3']]], ['1.3', 'val 1.3']]

def pr_lo(array, indent):
for el in array:
print(indent, " ", el[0], ": ", el[1])
if len(el) == 3:
indent = indent + "-"
pr_lo(el[2], indent)
indent = indent[:-1]

pr_lo(array, "")

输出看起来总是一样的:

   1.1 :  val 1.1
1.2 : val 1.2
- 1.2.1 : val 1.2.1
-- 1.2.1.1 : val 1.2.1.1
-- 1.2.1.2 : val 1.2.1.2
--- 1.2.1.2.1 : val 1.2.1.2.1
--- 1.2.1.2.2 : val 1.2.1.2.2
--- 1.2.1.3 : val 1.2.1.3
-- 1.2.2 : val 1.2.2
-- 1.2.3 : val 1.2.3
- 1.3 : val 1.3

1.11.21.3 应该在同一行,但不知为何不能。

最佳答案

您甚至不必担心取消缩进,因为不必担心使用以下方法设置索引:

def pr_lo(array, indent):
for el in array:
print(indent, " ", el[0], ": ", el[1])
if len(el) == 3:
pr_lo(el[2], indent + '-')
pr_lo(array, "")

关于python - 删除最后一个字符在连接后循环的第一次运行中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52798152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com