Python。给出列表列表。如何制作将列表中的数据表示为“moreline”字符串的函数,就像每个数据都将显示在其新行中,并且在它前面有很多“*”,与数据深度一样多。
示例:我们有列表 [2, 4, [[3, 8], 1]]
,现在函数必须生成并返回字符串,函数“打印”将其打印出来,如下所示:
* 2
* 4
*** 3
*** 8
** 1
我现在只做了这个,但它不起作用
def Function(List):
s=''
Count=0
for element in List:
Count+=1
if type(element)==type([]):
s+=Function(element)
else:
s+=Count*'*'+str(element)+('\n')
return s
如果用 print(s) 替换 return (s) 它会报告我一个错误...但是如果我返回 s 而不是我自己打印该字符串它可以正常工作,但又不是它应该如何
>>> Function([2, 4, [[3, 8], 1]])
'*2\n*4\n*3\n*8\n**1\n'
>>> print('*2\n*4\n*3\n*8\n**1\n')
*2
*4
*3
*8
**1
问题出在哪里,我找不到。我应该更换、移除什么等?