Я хотел бы знать, есть ли более компактный (или Pythonic) способ сделать несколько разбиений некоторой входной строки. Сейчас я занимаюсь:
[a,bc,de] = 'a,b:c,d/e'.split(',') [b,c] = bc.split(':') [d,e] = de.split('/')
Я бы использовал библиотеку регулярных выражений. Вам не нужно использовать списки для распаковки, вы можете использовать кортежи, как показано ниже.
import re regex = re.compile(r'[,:/]') a, b, c, d, e = regex.split('a,b:c,d/e')
Вероятно, вам лучше использовать метод разбиения регулярных выражений. Не делайте этого, это будет безумно медленно, но просто добавьте ответ:
a,b,c,d,e = flatten( (x.split(',') for x in y.split(':')) for y in z.split('/') )
(выравнивание влево как упражнение для читателя (см. выравнивание ))