【发布时间】:2014-07-30 17:03:59
【问题描述】:
我编写了这个简单的代码来实现列表中的成员是否是列表本身,如果是则打印成员。我很想知道这是否是正确的接近方式:
listt = ['spam!', 1, ['B', 'R', 'P'], [1 , 2, 3]]
leng= range(len(listt))
def listPrint(listt, leng):
for i in leng:
print "List member",i,":"
list1 = listt[i]
print listt[i]
if isinstance(listt[i], list):
leng2 = range(len(listt[i]))
print 'and the members are:'
for e in leng2:
print list1[e], '\n'
else:
print '\n'
listPrint(listt,leng)
【问题讨论】:
-
为什么要使用
range()?只需使用for elem in listt,直接使用elem即可。 -
嗯,你测试过吗?它有效吗?如果是这样,这可能更适合codereview.stackexchange.com。 Here 是另一个问题的替代实现。
-
if all(isinstance(x, list) for x in list1)可能会更好。 -
是的,我已经测试过了。
-
Martjin Pieters,如果我不使用范围,那么当我在函数内部说: print listt[i] 它说我应该是整数!