Мне нужна функция печати, которая может печатать внутренний список.Как управлять форматом функции печати этого списка
Ожидаемый результат моей функции должно быть:
a
b
aa
bb
aaa
bbb
Однако теперь результат: (дополнительное пространство не ожидается)
a
b
aa
bb
aaa
bbb
Как я могу получить ожидаемый результат? Я старался изо всех сил, но не смог найти решение. Заранее благодарим за помощь.
testlist = ["a","b",["aa","bb",["aaa","bbb"]]]
add_space = False
def printList(the_list, level):
global add_space
for each_item in the_list:
if isinstance(each_item, list):
add_space = True
level += 1
printList(each_item, level)
else:
if add_space == True:
for numbers in range(level):
print("\t",end="")
print(each_item)
printList(testlist,1)
Просто наблюдение: Ваши имена переменных '' each_item' и the_list' имеет смысл только при объявлении вашего для цикла. Внутри нее имена переменных странны: p я бы пошел с .... 'для элемента в списке' или что-то еще. – keyser
Также обратите внимание, что после одного вызова вашего 'printList' с вложенным списком' add_space' всегда будет 'True', что может привести к неправильным результатам при следующих вызовах, если вы не сбросите его. – Bakuriu
Вы пробовали 'print (" "* (level-1), end =" ")'? – hbprotoss