Наоми Седер - Python. Экспресс-курс

Тут можно читать онлайн Наоми Седер - Python. Экспресс-курс - бесплатно полную версию книги (целиком) без сокращений. Жанр: Программы, издательство Питер, год 2019. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Python. Экспресс-курс
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2019
  • ISBN:
    978-5-4461-0908-1
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Наоми Седер - Python. Экспресс-курс краткое содержание

Python. Экспресс-курс - описание и краткое содержание, автор Наоми Седер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Вы уже умеете кодить на одном или нескольких языках программирования? Тогда настала пора пройти экспресс-курс Python. Впервые на русском языке выходит новое издание одной из самых популярных книг издательства Manning. С помощью этой книги вы можете быстро перейти от основ к управлению и структурам данных, чтобы создавать, тестировать и развертывать полноценные приложения.
Наоми Седер рассказывает не только об основных особенностях языка Python, но и его объектно-ориентированных возможностях, которые появились в Python 3. Данное издание учитывает все изменения, которые произошли с языком за последние 5 лет, а последние 5 глав рассказывают о работе с большими данными.

Python. Экспресс-курс - читать онлайн бесплатно полную версию (весь текст целиком)

Python. Экспресс-курс - читать книгу онлайн бесплатно, автор Наоми Седер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

5.5.2. Конкатенация списков оператором +Чтобы создать список слиянием двух существующих списков, используйте опе-ратор + (оператор конкатенации списков), который оставляет исходные списки-аргументы без изменений:

>>> z = [1, 2, 3] + [4, 5]

>>> z

[1, 2, 3, 4, 5]

5.5.3. Инициализация списков оператором *Оператор * создает список заданного размера, инициализированный заданным значением. Эта операция типична для больших списков, размер которых известен заранее. И хотя вы можете использовать append для добавления элементов и ав-томатического расширения списка по мере необходимости, эффективнее будет использовать * для определения правильного размера списка в начале работы про-граммы. Если размер списка остается неизменным, это позволяет избежать затрат на перемещение данных в памяти:

>>> z = [None] * 4

>>> z

[None, None, None, None]

При таком использовании списков оператор * (который в данном контексте на-зывается оператором умножения списков ) повторяет список заданное количество раз и объединяет все копии для формирования нового списка. Это стандартный способ опережающего определения списков заданного размера в языке Python. В умножении списков часто используется список, содержащий один экземпляр None , но содержимое списка может быть любым:

>>> z = [3, 1] * 2

>>> z

[3, 1, 3, 1]

5.5.4. Получение наименьшего или наибольшего элемента функциями min и max

Функции min и max используются для нахождения наименьшего и наибольшего элемента в списке. Вероятно, чаще всего вы будете использовать функции min и max с числовыми списками, но они могут применяться к спискам, содержащим элементы любых типов. Попытка определить наименьший или наибольший объ-ект в множестве объектов разных типов приведет к ошибке, если сравнение этих типов не имеет смысла:

>>> min([3, 7, 0, -2, 11])

-2

>>> max([4, "Hello", [1, 2]])

Traceback (most recent call last):

File "", line 1, in

max([4, "Hello",[1, 2]])

TypeError: '>' not supported between instances of 'str' and 'int'

5.5.5. Поиск в списках и метод index

Если вы хотите узнать, в какой позиции списка находится некоторое значение (то есть недостаточно знать, присутствует значение в списке или нет), используйте метод index . Этот метод ищет в списке элемент, эквивалентный заданному значе-нию, и возвращает позицию этого элемента:

>>> x = [1, 3, "five", 7, -2]

>>> x.index(7)

3

>>> x.index(5)

Traceback (innermost last):

File "", line 1, in ?

ValueError: 5 is not in list

Как видно из этого примера, при попытке определить позицию несуществующего элемента происходит ошибка. Эта ошибка обрабатывается точно так же, как и ана-логичная ошибка, которая может происходить при вызове remove (то есть проверкой списка оператором in перед вызовом index ).

5.5.6. Подсчет вхождений методом countМетод count также проводит поиск заданного значения по списку, но вместо по-зиционной информации возвращает количество вхождений значения в список: >>> x = [1, 2, 2, 3, 5, 2, 5]

>>> x.count(2)

3

>>> x.count(5)

2

>>> x.count(4)

5.5.7. Сводка операций со списками

Как видите, списки представляют собой чрезвычайно мощные структуры данных, которые по своим возможностям далеко превосходят старые добрые массивы. Опе-рации со списками играют настолько важную роль в программировании на Python, что я для удобства приведу их краткую сводку в табл. 5.1. Таблица 5.1. Операции со списками

Если вы будете знать основные операции со списками ваша жизнь как - фото 34

Если вы будете знать основные операции со списками, ваша жизнь как програм-миста Python заметно упростится.

БЫСТРАЯ.ПРОВЕРКА:.ОПЕРАЦИИ.СО.СПИСКАМИ Какой результат вернет вызов len([[1,2]] * 3)?

Опишите два различия между оператором in и методом index() списков? Какой из следующих вызовов приведет к выдаче исключения: min(["a", "b", "c"]) ; max([1, 2, "three"]) ; [1, 2, 3].count("one") ?

ПОПРОБУЙТЕ.САМИ:.ОПЕРАЦИИ.СО.СПИСКАМИ Имеется список x . Напишите код безопасного удаления элемента в том — и толь-ко в том! — случае, если значение присутствует в списке. Измените код так, чтобы элемент удалялся только в том случае, если элемент присутствует в списке более чем в одном экземпляре.

5.6. Вложенные списки и глубокое копированиеВ этом разделе рассматривается еще одна нетривиальная тема, которую можно пропустить, если вы только изучаете язык.

Как упоминалось ранее, списки могут содержать вложенные списки. В частности, вложение списков может использоваться для представления двумерных матриц. К элементам этих матриц можно обращаться по двумерным индексам. Индексы матриц работают так:

>>> m = [[0, 1, 2], [10, 11, 12], [20, 21, 22]]

>>> m[0]

[0, 1, 2]

>>> m[0][1]

1

>>> m[2]

[20, 21, 22]

>>> m[2][2]

22

Этот механизм естественным образом масштабируется для большего количества измерений.

В большинстве случаев ни о чем больше вам беспокоиться не придется. Однако у вас могут возникнуть проблемы с вложенными списками — они возникают из-за того, как переменные связываются с объектами, и из-за возможности изменения некоторых объектов (например, списков). Следующий пример демонстрирует эти проблемы:

>>> nested = [0]

>>> original = [nested, 1]

>>> original

[[0], 1]

Рисунок 5.1 поясняет суть происходящего. Теперь зна-чение во вложенном списке можно изменить как через переменную nested , так и через original :

>>> nested[0] = 'zero' original zero 1 Рис 51 Список первый original00 0 - фото 35

>>> original

[['zero'], 1] Рис. 5.1. Список, первый

>>> original[0][0] = 0 элемент которого ссылается

>>> nested на вложенный список

>>> original

[[0], 1]

Но если присвоить nested другой список, связь между списками будет разорвана: >>> nested = [2]

>>> original

[[0], 1]

Эта ситуация изображена на рис. 5.2.

Вы уже видели, что для создания копии списка можно воспользоваться полным сегментом (то есть x[:] ). Также копию списка можно получить при помощи опе-ратора + или * (например, x + [] или x * 1 ). Эти способы несколько уступают по эффективности способу с сег-ментом. Все три способа создают поверхностную копию списка — вероятно, в большинстве случаев это именно то, что вам нужно. Но если ваш список содержит другие вложенные списки возможно вы предпочтете создать Рис 52 Первый элемент - фото 36вложенные списки, возможно, вы предпочтете создать Рис. 5.2. Первый элемент глубокую копию. Для этого можно воспользоваться исходного списка все ещефункцией deepcopy модуля copy : остается вложенным списком,>>> original = [[0], 1] ссылается на другой список но переменная nested>>> shallow = original[:]

>>> import copy

>>> deep = copy.deepcopy(original)

Рисунок 5.3 поясняет суть глубокого копирования.

Списки, на которые указывают переменные original или shallow, связаны. Изме-нение значения во вложенном списке через одну переменную повлияет на другую переменную:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Наоми Седер читать все книги автора по порядку

Наоми Седер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Python. Экспресс-курс отзывы


Отзывы читателей о книге Python. Экспресс-курс, автор: Наоми Седер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x