我有一个3D列表haaros_seforim
,我只是在迭代它以检查内容。
for sindex, sefer in enumerate(haaros_seforim):
for hindex, haarah in enumerate(sefer):
for pindex, paragraph in enumerate(haarah):
print "INDEX\/ "+str(sindex)+" "+str(hindex)+" "+str(pindex)
print paragraph
但奇怪的是,似乎对于第二个D我们从第二个项目开始,或者索引-1:
INDEX\/ 0 1 0
[...contents...]
INDEX\/ 0 2 0
[...contents...]
事实上,似乎这也发生在巢两个项目(1 1 0
和2 1 0
),然后是第四个正常(3 0 0
),第五个和最后一个跳过两个(4 2 0
)。
我尝试使用过滤器进行测量,但这似乎没有帮助:
filter(lambda(x): x is not None, ...)
可能是什么问题?
答案 0 :(得分:1)
即使列表中有空白项目也要连续编号,只需使用filter
和第一个参数None
来消除任何虚假的内容:
for sindex, sefer in enumerate(haaros_seforim):
for hindex, haarah in enumerate(sefer):
for pindex, paragraph in enumerate(filter(None, haarah)):
print "INDEX\/ "+str(sindex)+" "+str(hindex)+" "+str(pindex)
print paragraph