1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

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

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

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

Наш партнер Genesis Hackspace
Метки:
  1. gx6060

    gx6060 Python

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

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

    Регистрация:
    12 ноя 2016
    Сообщения:
    83
    Симпатии:
    86
    не пойму, некоторые примеры принимают у меня другой результат.
    например последний (у меня так):
    Код (Python):
    >>> 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"]
     
  3. snowdevi7

    snowdevi7 New Member

    Регистрация:
    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"], надо писать так

    Код (Python):
    >>> 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
    Ответов:
    1
    Просмотров:
    903
  2. gx6060
    Ответов:
    6
    Просмотров:
    963
  3. gx6060
    Ответов:
    2
    Просмотров:
    1.086
  4. gx6060
    Ответов:
    0
    Просмотров:
    565
  5. gx6060
    Ответов:
    2
    Просмотров:
    662

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