У меня есть список строк s
следующим образом:Python: Список, содержащий подсписок строк
s = ['Hello', 'world', '!', 'How', 'are', 'you', '?', 'Have', 'a', 'good', 'day', '.']
Я хочу этот список должен быть разбит на подсписков. Всякий раз, когда есть ?!.\n
новый Подсписок формируются следующим образом:
final = [['Hello', 'world', '!'],
['How', 'are', 'you', '?'],
['Have', 'a', 'good', 'day', '.']]
Я попытался это:
x = 0
for i in range(len(s)):
if s[i] in ('!','?','.','\n'):
final = s[x: x+i]
x = i+1
конечных магазины моего выхода. Не так, как должно быть. Какие-либо предложения?
Я рекомендую использовать 'enumerate', чтобы получить индекс вместо этого, и в целом лучше использовать' set' для тестирования членства из-за его постоянная время против линейного поиска в кортежи или список – Copperfield
@Copperfield: Действительно, 'enumerate' лучше для индексирования, но изменит структуру cture кода. Я хотел оставаться как можно ближе к первоначальной структуре. – mkiever