Pythonic способ разбить список на первый и отдохнуть?
Я думаю, что в Python 3 я смогу сделать:
first, *rest = l
это именно то, что я хочу, но я использую 2.6. Пока я делаю:
first = l[0] rest = l[1:]
Это прекрасно, но мне просто интересно, есть ли что-то более элегантное.
- Закрепление двух списков списков
- os.path.join (os.path.dirname (__ file__)) ничего не возвращает
- генераторы, которые откладывают до подгенераторов
- Python: вызывает метод «непосредственно», создавая экземпляр объекта?
- Разбор txt-файла в python, где его трудно разделить по разделителю
first, rest = l[0], l[1:]
В основном то же самое, за исключением того, что это oneliner. Корреспондентские породы.
Это немного длиннее и менее очевидно, но обобщается для всех повторений (вместо того, чтобы ограничиваться срезами):
i = iter(l) first = next(i) # i.next() in older versions rest = list(i)
Ты можешь сделать
first = l.pop(0)
и тогда я l
. Однако он изменяет ваш первоначальный список, поэтому, возможно, это не то, что вы хотите.
Я бы предложил:
first, remainder = l.split(None, maxsplit=1)
- Python: удалить нечетное число из списка
- Почему python выводит информацию о версии на stderr?
- Скобки вокруг, если и для
- Как определить файл, функцию и номер строки?
- однострочный, чтобы проверить, существует ли хотя бы один элемент в списке в другом списке?
- Функция привязки бабочки
- Как обрабатывать шестнадцатеричный текст как строку?
- Получение резюме в виде Facebook (название, резюме, соответствующие изображения) с использованием Python
- Динамические пути pappon webapp