группировка списка в подсписки, разбитые по алфавиту в python - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть список в Python, который смешан: некоторые элементы числовые, а некоторые алфавитные.

Например: l = ['999','123','hello','222','333','444','bye']

Я хочу разделить этот список на списки, которыеразделены алфавитными элементами:

['999','123','hello'], ['222','333','444','bye']

для ['hello', '123', 'test', 'test', '456', 'test', '789'] Выходные данные будут: ['hello'],['123','test'],['test'],['456','test'],['789']

Каждый элемент представляет собой весь алфавит или все цифры.

Какой самый питонический способ сделать это?

1 Ответ

0 голосов
/ 16 сентября 2018
output = []
for i in l:
    if not output or output[-1][-1].isalpha():
        output.append([i])
    else:
        output[-1].append(i)

так что с:

l = ['999','123','hello','222','333','444','bye']

output станет:

[['999', '123', 'hello'], ['222', '333', '444', 'bye']]

или с:

l = ['hello', '123', 'test', 'test', '456', 'test', '789']

output станет:

[['hello'], ['123', 'test'], ['test'], ['456', 'test'], ['789']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...