У меня есть список в python, который состоит из буквенных и числовых элементов, скажем что-то вроде list = ["a", 1, 2, 3, "b", 4, 5, 6]
, и я хочу разрезать его на 2 списка, содержащих числа, которые следуют буквенным символам, поэтому list1 = [1, 2, 3]
и list2 = [4, 5, 6]
. a
и b
элементы могут быть в обратном порядке, но в целом я хочу хранить числовые элементы, которые следуют за a
и b
элементами в отдельных списках. Самое простое решение, что я придумал создавал цикл с условием:Итерирование только части списка в Python
#Generating a list for numeric elements following "a":
for e in list[list.index("a")+1:]:
if not str.isdigit(e):
break
else:
list1.append(e)
Я хотел бы сделать это так же для list2
и числовых элементов после "b"
. Но могли ли быть более элегантные решения? Я новичок в Python, но я видел красивые однострочные конструкции, может быть что-то подобное в моем случае? Заранее спасибо.
Вы можете уточнить вопрос немного больше, например, давая полный пример кода? – linusg
Лучше сейчас: D, но я думаю, что название по-прежнему запутывает ... Вы хотите перебирать список и пропускать определенные элементы или что-то еще? – linusg