我有以下代码
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,但没有效果。
发布于 2018-10-24 14:34:02
enumerate不会在这里帮你的。您需要一个独立于您的循环“索引”的全局计数器,并需要一个内环来打印平的值(在这个循环中增加计数器)。
i = 0
for v in total_list:
if isinstance(v[3], unicode):
for tok in v[3].split(';'):
print i, 1, tok
i += 1https://stackoverflow.com/questions/52971580
复制相似问题