Существует строка:
str = "first line\n xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz"
Мне нужно получить список с двумя элементами: первая строка и все остальное:
list = ['first line\n', ' xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz']
Как я могу это сделать?
print str.split('\n', 1)
['first line', ' xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz']
Первый элемент не имеет "\n", если вы хотите его сохранить:
splited = str.partition('\n')
print [splited[0] + splited[1], splited[2]]
['first line\n', ' xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz']
И не назовите свою строку str
, потому что вы будете теневой тип str, ни ваш список list
:)
>>> s = "first line\n xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz"
>>> s=s.splitlines(True)
>>> s=[s[0],"".join(s[1:])]
>>> s
['first line\n', ' xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz']
используя "True" в качестве параметра для разделительных линий, указывает, что он должен "держать концы"
>>> str = "first line\n xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz"
>>> str.split('\n', 1)
['first line', ' xxxxxxxxxxxxx\n zzzzzzzzzzzzzzz']