Перечислять предложения в python
У меня есть кортеж строк, состоящий из двух предложений
a = ('What', 'happened', 'then', '?', 'What', 'would', 'you', 'like', 'to', 'drink','?')
Я попробовал это
for i,j in enumerate(a):
print i,j
Который дает
0 What
1 happened
2 then
3 ?
4 What
5 would
6 you
7 like
8 to
9 drink
10 ?
В то время как то, что мне нужно, это
0 What
1 happened
2 then
3 ?
0 What
1 would
2 you
3 like
4 to
5 drink
6?
3 ответа:
Проще всего было бы вручную увеличить
i
вместо того, чтобы полагаться наenumerate
и сбросить счетчик на символ?
,.
или!
.i = 0 for word in sentence: print i, word if word in ('.', '?', '!'): i = 0 else: i += 1
Может быть, слишком сложно. Я думаю, что решение @JeromeJ чище. Но:
a=('What', 'happened', 'then', '?', 'What', 'would', 'you', 'like', 'to', 'drink','?') start = 0 try: end = a.index('?', start)+1 except: end = 0 while a[start:end]: for i,j in enumerate(a[start:end]): print i,j start = end try: end = a.index('?', start)+1 except: end = 0