Форум сайта python.su
3
Вроде бы должно быть очень просто , но не пойму как ?
есть такой код:
for line in lines: try: print lines.index(line),pattern.parseString(line) except: pass
i=0 s=0 for line in lines: i+=1 try: print pattern.parseString(line) print i s+=1 print s except: pass
Отредактировано Luke (Янв. 23, 2013 19:48:31)
Офлайн
173
Не совсем понял, что хотите, но подозреваю, что это:
for i, line in enumerate(lines): print i, pattern.parseString(line)
Офлайн
3
Спасибо, то что нужно.
___________________________________________________________________________________
try: except:
if pattern.parseString(line)==true:
Отредактировано Luke (Янв. 23, 2013 21:10:36)
Офлайн
857
Luke
index() - глючит, он заново ищет линию, а там есть одинаковые, и возвращает номер первой попавшейся такой же линии (а не текущей)
>>> lst = [1, 2, 3, 2, 4, 5] >>> start = 0 >>> lst.index(2, start) 1 >>> start = lst.index(2, start) + 1 >>> lst.index(2, start) 3 >>> start = lst.index(2, start) + 1 >>> lst.index(2, start) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 2 is not in list >>>
Офлайн