1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Python3 4.Длина списка,Срез Списка

Тема в разделе "Python", создана пользователем gx6060, 5 окт 2016.

Метки:
  1. gx6060

    gx6060 Python

    Репутация:
    1
    Регистрация:
    21 сен 2016
    Сообщения:
    39
    Симпатии:
    54
    1.Длина списка

    Как было сказано в предыдущей теме , если выйти за пределы индекса списка , Python возвратит нам сообщение об ошибке и прервет выполнение кода , для предотвращения этого существует функция len() которая возвращает нам длину списка (количество элементов в списке) представленных в виде целого числа:
    Код:
    >>> list = [1, 2, 3, 4, 5, 6, 7]
    >>> len(list)
    9 
    Предположим что вы не знаете количество элементов в списке , для того что бы узнать индекс последнего элемента используем функцию len() и отнимаем от значения 1 ( единицу)
    Код:
    >>> list = [0, 1, 2, 3, 4, 5, 6]
    >>> last_index = len(list) -1
    >>> print(last_index)
    6 
    Индексация начинается с 0 а не 1

    2.Срез списка


    Для списков в которых содержится большое кол-во элементов , а необходимые нам элементы находятся где то в середине списка где то между индексом 200 и 250.
    В Python есть функция срез списка которая позволяет вывести значения от начала указанного индекса до его конца не включая его конечный индекс , срез указывается в скобках целыми числами в скобках разделённые двоеточием [200:230].
    Данный вид среза вернет элементы списка от 200 до 229 , последний элемент считается исключением
    Код:
    >>> list = ["Zero", "One", "Two", "Three", "Four", "Five", "Six"]
    >>> one_five = list[1:6] # срез вернет значения от 1 до 5 включая его , 6 считается исключением
    >>> print(one_five)
    ["One", "Two", "Three", "Four", "Five"] 
    Функцию len() возможно использовать что бы узнать кол-во элементов и использовать его как конечный индекс.
    Код:
    >>> list = ["Zero", "One", "Two", "Three", "Four", "Five", "Six"] # список
    # назначаем переменной общее кол-во элементов списка , отнимаем единицу
    >>> last_index = len(list) - 1
    # используем срез от второго индекса до последнего
    >>> two_last = list[2:last_index]
    >>> print(two_last) # выводим функцией принт
    ["Two", "Three", "Four", "Five", "Six"] 
    To be continued...
     
    #1 gx6060, 5 окт 2016
    Последнее редактирование: 19 окт 2016
    id2746, WebWare Team и Vander нравится это.
  2. id2746

    id2746 Well-Known Member
    Red Team

    Репутация:
    10
    Регистрация:
    12 ноя 2016
    Сообщения:
    254
    Симпатии:
    351
    не пойму, некоторые примеры принимают у меня другой результат.
    например последний (у меня так):
    Код:
    >>> list = ["Zero", "One", "Two", "Three", "Four", "Five", "Six"]
    >>> last_index = len(list) - 1
    >>> two_last = list[2:last_index]
    >>> print(two_last)
    ["Two", "Three", "Four", "Five"]
     
    Lisenok нравится это.
  3. snowdevi7

    snowdevi7 New Member

    Репутация:
    0
    Регистрация:
    13 фев 2017
    Сообщения:
    2
    Симпатии:
    0
    <code>two_last = list[2:last_index]</code>
    Так и должно быть, в массиве 7 элементов, поэтому last_index = 7 - 1 = 6.
    Тогда two_last = list[2:6], т. е. в two_last будут элементы со второго по шестой, при этом шестой элемент не включается, т. е. ["Two", "Three", "Four", "Five"].
    Если хочешь получить ["Two", "Three", "Four", "Five", "Six"], надо писать так

    Код:
    >>> list = ["Zero", "One", "Two", "Three", "Four", "Five", "Six"]
    >>> last_index = len(list)
    >>> two_last = list[2:last_index]
    
    Ну а если по хорошему, то для того, чтобы получить срез массива, начиная с какого-то элемента до конца массива, обычно используют конструкцию two_last = list[2:-1].
     
Загрузка...
Похожие Темы - Python3 Длина списка
  1. gx6060
    Ответов:
    10
    Просмотров:
    10.438
  2. gx6060
    Ответов:
    6
    Просмотров:
    1.855
  3. gx6060
    Ответов:
    2
    Просмотров:
    2.120
  4. gx6060
    Ответов:
    0
    Просмотров:
    965
  5. gx6060
    Ответов:
    2
    Просмотров:
    1.091

Поделиться этой страницей