Наоми Седер - 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. Экспресс-курс - читать книгу онлайн бесплатно, автор Наоми Седер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

>>> x

[1, 2, 4, 3, 5]

>>> x.remove(3)

>>> x

[1, 2, 4, 5]

>>> x.remove(3)

Traceback (innermost last):

File "", line 1, in ?

ValueError: list.remove(x): x not in list

Если метод remove не находит удаляемых элементов, он выдает ошибку. Вы можете перехватить ошибку, используя средства обработки исключений Python, или же предотвратить саму проблему, проверяя наличие элементов в списке оператором in перед тем, как пытаться их удалить.

Метод reverse — специализированный метод изменения списка — эффективно переставляет элементы списка в обратном порядке «на месте»: >>> x = [1, 3, 5, 6, 7]

>>> x.reverse()

>>> x

[7, 6, 5, 3, 1]

ПОПРОБУЙТЕ.САМИ:.МОДИФИКАЦИЯ.СПИСКОВ Допустим, список состоит из 10 элементов. Как переместить три последних элемента из конца в начало списка без нарушения их исходного порядка?

5.4. Сортировка списков

Для сортировки списков используется встроенный метод Python sort : >>> x = [3, 8, 4, 0, 2, 1]

>>> x.sort()

>>> x

[0, 1, 2, 3, 4, 8]

Метод выполняет сортировку «на месте», то есть с изменением сортируемого списка. Если вы хотите отсортировать список без изменения исходного списка, возможны два варианта: либо использовать встроенную функцию sorted() (раз-дел 5.4.2), либо создать копию списка и отсортировать ее. >>> x = [2, 4, 1, 3]

>>> y = x[:]

>>> y.sort()

>>> y

[1, 2, 3, 4]

>>> x

[2, 4, 1, 3]

Сортировка также работает со строками:

>>> x = ["Life", "Is", "Enchanting"]

>>> x.sort()

>>> x

['Enchanting', 'Is', 'Life']

Метод sort может отсортировать почти всё, потому что Python умеет сравнивать почти всё. Однако при сортировке возникает одна загвоздка: ключевой метод, ис-пользуемый по умолчанию при сортировке, требует, чтобы все элементы списка имели совместимые типы. Это означает, что при использовании метода sort для списка, содержащего как числа, так и строки, будет выдано исключение: >>> x = [1, 2, 'hello', 3]

>>> x.sort()

Traceback (most recent call last):

File "", line 1, in

TypeError: '<' not supported between instances of 'str' and 'int' И наоборот, можно спокойно отсортировать список списков: >>> x = [[3, 5], [2, 9], [2, 3], [4, 1], [3, 2]]

>>> x.sort()

>>> x

[[2, 3], [2, 9], [3, 2], [3, 5], [4, 1]]

В соответствии со встроенными правилами сравнения сложных объектов в Python субсписки сортируются сначала по возрастанию первого элемента, а затем по воз-растанию второго элемента.

Метод sort обладает еще большей гибкостью; он поддерживает необязательный параметр reverse . При reverse=True сортировка производится в обратном порядке, и вы можете задать собственную ключевую функцию, определяющую способ сор-тировки элементов списка.

5.4.1. Нестандартная сортировка

Чтобы применить пользовательский критерий сортировки, необходимо уметь опре-делять функции — тема, которая пока еще не рассматривалась. В этом разделе мы также обсудим тот факт, что len(string) возвращает количество символов в строке. Операции со строками более подробно рассмотрены в главе 6. По умолчанию sort использует для определения порядка встроенные функции срав-нения Python; в большинстве случаев этого достаточно. Однако время от времени требуется отсортировать список способом, отличным от порядка по умолчанию. До-пустим, вы хотите отсортировать список слов по количеству символов в слове, а не по критерию лексикографической сортировки, который обычно применяет Python. Для этого следует написать функцию, которая возвращает значение (или ключ) для проведения сортировки, и использовать его с методом sort . В контексте sort эта функция должна получать один аргумент и возвращать ключ или значение, используемое функцией sort .

Чтобы строки упорядочивались по количеству символов, ключевая функция может иметь вид

def compare_num_of_chars(string1):

return len(string1)

Эта ключевая функция тривиальна — она передает методу сортировки длину строк (вместо самих строк).

После того как вы определите ключевую функцию, остается передать ее методу sort с именем key . Так как функции являются объектами Python, они могут передаваться функциям как любые другие объекты Python. Ниже приведена небольшая програм-ма, демонстрирующая различия между стандартной и нестандартной сортировкой: >>> def compare_num_of_chars(string1):

... return len(string1)

>>> word_list = ['Python', 'is', 'better', 'than', 'C'] >>> word_list.sort()

>>> print(word_list)

['C', 'Python', 'better', 'is', 'than']

>>> word_list = ['Python', 'is', 'better', 'than', 'C'] >>> word_list.sort(key=compare_num_of_chars)

>>> print(word_list)

['C', 'is', 'than', 'Python', 'better']

Первый список упорядочен в лексикографическом порядке (верхний регистр предшествует нижнему), а второй список упорядочен по возрастанию количества символов.

Нестандартная сортировка чрезвычайно полезна, но она может быть медленнее стандартной. Обычно эффект минимален, и все же с особенно сложными ключевы-ми функциями он становится заметным, особенно если в сортировке задействованы сотни тысяч и миллионы элементов.

В частности, нестандартной сортировки стоит избегать при упорядочении списка по убыванию (а не по возрастанию). В этом случае параметру reverse метода sort задается значение True . Если по какой-либо причине это решение оказы-вается неприемлемым, все равно будет лучше отсортировать список обычным способом, а затем воспользоваться методом reverse для перестановки элементов полученного списка в обратном порядке. Эти две операции — стандартная со-ртировка и обратная перестановка — будут выполняться намного быстрее, чем нестандартная сортировка.

5.4.2. Функция sorted()

У списков имеется встроенный метод для сортировки, но у других итерируемых типов Python (например, у ключей словаря) метода sort нет. У Python также име-ется встроенная функция sorted() , которая возвращает отсортированный список, построенная на базе любого итерируемого типа. Функция sorted() использует те же параметры key и reverse , что и метод sort :

>>> x = (4, 3, 1, 2)

>>> y = sorted(x)

>>> y

[1, 2, 3, 4]

>>> z = sorted(x, reverse=True)

>>> z

[4, 3, 2, 1]

ПОПРОБУЙТЕ.САМИ:.СОРТИРОВКА.СПИСКОВ Имеется список, каждый элемент которого также является списком: [[1, 2, 3], [2, 1, 3], [4, 0, 1]] . Допустим, вы хотите отсортировать этот список по второму элементу каждого списка, чтобы получить результат [[4, 0, 1], [2, 1, 3], [1, 2, 3]] . Какую функцию вы бы написали для передачи в параметре key метода sort() ?

5.5. Другие распространенные операции со спискамиТакже у списков есть несколько других часто используемых методов, которые не относятся ни к какой конкретной категории.

5.5.1. Проверка принадлежности оператором inЧтобы легко определить, присутствует ли некоторое значение в списке, воспользуй-тесь оператором in , возвращающим логическое значение. Также можно выполнить обратную проверку с оператором not in :

>>> 3 in [1, 3, 4, 5]

True

>>> 3 not in [1, 3, 4, 5]

False

>>> 3 in ["one", "two", "three"]

False

>>> 3 not in ["one", "two", "three"]

True

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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