我有以下代码
for i, v in enumerate(total_list):
if isinstance(v[3], unicode):
print i, len(v[3].split(';')), v[3].split(';')
产生第N个物品
93 1 [u'Nee']
94 6 [u'Bepalen van hoeveelheden materiaal', u'Energie-analyse', u'Verifi\xebren en valideren van ontwerpbeslissingen', u'Uitvoerbaarheid', u'Beheer & Onderhoud', u'']
95 3 [u'ArchiCAD', u'Solibri Model Checker', u'']
96 6 [u'IFC2x3 Coordination View', u'IFC4 Reference View', u'IFC4 Design Transfer View', u'gbXML', u'3D DWG', u'']
97 1 [u'Ja, de BIM Basis Informatie Leverings Specficatie (ILS)']
现在,我想使用列表长度来递增i
,同时枚举保持顺序,这是所需的输出:
93 1 [ u'Nee']
94 1 [ u'Bepalen van hoeveelheden materiaal']
95 1 [ u'Energie-analyse']
96 1 [ u'Verifi\xebren en valideren van ontwerpbeslissingen']
97 1 [ u'Uitvoerbaarheid']
98 1 [ u'Beheer & Onderhoud']
99 1 [u'ArchiCAD']
100 1 [u'Solibri Model Checker']
101 1 [u'IFC2x3 Coordination View']
102 1 [u'IFC4 Reference View']
103 1 [u'IFC4 Design Transfer View']
104 1 [ u'gbXML']
105 1 [u'3D DWG']
106 1 [u'Ja, de BIM Basis Informatie Leverings Specficatie (ILS)']
我尝试遍历v[3]
列表,并使用列表长度增加i
,但无济于事。
答案 0 :(得分:0)
enumerate
不会在这里为您提供帮助。您需要一个独立于循环“索引”的全局计数器,以及一个内部循环以将值平坦地打印出来(在此循环中增加计数器)
i = 0
for v in total_list:
if isinstance(v[3], unicode):
for tok in v[3].split(';'):
print i, 1, tok
i += 1