Существует ли способ нарезать только первый и последний объект в списке?
Например; Если это - мой список:
>>> some_list
['1', 'B', '3', 'D', '5', 'F']
Я хочу сделать это (очевидно, [0,-1]
не допустимый синтаксис):
>>> first_item, last_item = some_list[0,-1]
>>> print first_item
'1'
>>> print last_item
'F'
Некоторые вещи я попробовал:
In [3]: some_list[::-1]
Out[3]: ['F', '5', 'D', '3', 'B', '1']
In [4]: some_list[-1:1:-1]
Out[4]: ['F', '5', 'D', '3']
In [5]: some_list[0:-1:-1]
Out[5]: []
...
Они все интересны, но от чего, если у Вас есть номер версии и Вы не знаете размера никакого сегмента в строке, и Вы хотите отбросить последний сегмент. Что-то как 20.0.1.300 и я хочу закончить с 20.0.1 без 300 на конце. У меня есть это до сих пор:
str('20.0.1.300'.split('.')[:3])
, который возвращается в форме списка как:
['20', '0', '1']
, Как я возвращаю его к в единственную строку, разделенную периодами
20.0.1
Другое python3 решение использует распаковку кортежа с "*" символ:
first, *_, last = range(1, 10)