Главная » Просмотр файлов » Лутц М. - Изучаем Python

Лутц М. - Изучаем Python (1077325), страница 47

Файл №1077325 Лутц М. - Изучаем Python (Лутц М. - Изучаем Python) 47 страницаЛутц М. - Изучаем Python (1077325) страница 472018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 47)

Попутно мы подробно изучили различные концепции, такие как извлечение среза, вызовы методов и блоки строк в тройных кавычках. 213 Закрепление пройденного Кроме того, мы определили некоторые идеи, общие для различных типов: последовательности, к примеру, поддерживают общий набор операций. В следующей главе мы продолжим наши исследования и рассмотрим наиболее типичные коллекции объектов в языке Руьпоп— списки и словари. Там вы увидите, что многое из того, что говорилось здесь, применимо и к этим двум типам. Но перед этим ответьте на контрольные вопросы главы, которые помогут вам закрепить сведения, полученные здесь.

Закрепление пройденного Контрольные вопросы 1. Можно ли использовать строковый метод 11пс для поиска в списках? 2. Можно ли применить выражение извлечения среза к спискам? 3. Как бы вы преобразовали символы в соответствующие им целочисленные коды АЯСП? Как бы вы выполнили обратное преобразование — из кодов в символы? 4. Как бы вы реализовали изменение строки на языке Руьпоп? 5. Допустим, что имеется строка 8 со значением "з, ра, а".

Укажите два способа извлечения двух символов в середине строки. 6. Сколько символов в строке 'а~пЬ~х1Г~0000"? 7. По каким причинам вы могли бы использовать модуль з1г1пд вместо строковых методов? Ответы 1. Нет, потому что методы всегда зависят от типа объекта. То есть, они могут применяться только к одному определенному типу данных.

Но выражения являются более универсальными и могут использоваться для выполнения операций над различными типами. В этом случае, к примеру, оператор проверки вхождения 1п имеет похожий эффект и может использоваться для поиска как в строках, так и в списках. 2. Да, В отличие от методов, выражения универсальны и могут использоваться для выполнения операций над различными типами. В данном случае операция извлечения среза в действительности является операцией над последовательностями — она может применяться к любому типу последовательностей, включая строки, списки и кортежи.

Различие состоит лишь в том, что при выполнении операции над списком в результате будет получен новый список. 3. Встроенная функция ог0(8) преобразует односимвольную строку в целочисленный код. Функция сл г(1) преобразует целочисленный код в символ. Глава 7. Строки 4. Строки невозможно изменить — они являются неизменяемыми. Однако подобного эффекта можно добиться, создав новую строку,— выполнив операцию конкатенации, извлечения среза, форматирования или вызвав метод, такой как гер)асе, — и затем присвоив результат первоначальной переменной, 5.

Можно извлечь подстроку с помощью выражения 8[2:4] или, разбив строку по запятым, извлечь строку с помощью выражения Я, врПт( ', ')[1]. Попробуйте выполнить эти выражения в интерактивном сеансе, чтобы получить представление о том, как они действуют. 6. Шесть. Строка "атпэ\х1(т,0000" содержит следующие символы: а, символ новой строки (тп), э, символ с десятичным кодом 31 (тх1Г— в шестнадцатеричном представлении), символ с кодом 0 (т,000— в восьмеричном представлении) и с. Передайте строку встроенной функции )еп, чтобы проверить этот ответ, и выведите результаты преобразования каждого символа с помощью функции ого, чтобы увидеть фактические значения кодов символов.

За более подробной информацией обращайтесь к табл. 7.2. 7. Вам не следует использовать модуль этг(пд. При создании новых программ следует использовать строковые методы — функции этого модуля считаются устаревшими и скорее всего будут исключены из Ру(Поп 3.0. Единственная причина использования модуля этг(пд— это применение других средств из этого модуля, таких как предопределенные константы и шаблонные объекты. Списки и словари В этой главе вашему вниманию будут представлены такие типы объектов, как списки и словари, каждый из которых является коллекцией других объектов. Эти два типа являются основными рабочими лошадками практически во всех сценариях на языке Руьпоп.

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

Списки в языке Ру1поп реализуют практически все необходимое для работы с коллекциями данных, что вам пришлось бы писать вручную при использовании низкоуровневого языка программирования, такого как язык С. Ниже приводятся основные свойства списков. Списки в языке РуФпоп — зто: Упорядоченные коллекции обзектов произвольных типов С функциональной точки зрения, списки — это лишь место, в котором собраны другие объекты, поэтому их можно также рассматривать Глава 8. Списки и словари как группы. Кроме того, списки обеспечивают позиционное упорядочение элементов слева направо (то есть они являются последовательностями).

Доступ к элементам по смещению Так же, как и в случае ео строками, вы можете использовать операцию индексирования для извлечения отдельных объектов из списка по их смещениям. Поскольку элементы в списках упорядочены по их местоположению, можно также выполнять такие действия, как извлечение срезов и конкатенация. Переменная длина, гетерогенность и произвольное число уровней вложенности В отличие от строк списки могут увеличиваться и уменьшаться непосредственно (их длина может изменяться) и могут содержать не только односимвольные строки, но и любые другие объекты (списки гетерогенны).

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

Операции над последовательностями одинаковым образом работают как в случае списков, так и в случае строк, единственное отличие — при применении операций над последовательностями (таких как конкатенация и извлечение среза) к спискам операций возвращают новый список, а не новую строку. Кроме того, т. к. списки являются изменяемыми объектами, они поддерживают также операции, которые не поддерживаются строками (такие как операции удаления и присваивания по индексам, которые изменяют список непосредственно). Массивы ссылок на объекты Формально списки в языке РуФЬоп могут содержать ноль или более ссылок на другие объекты.

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

Всякий раз, когда выполняетея приеваивание объекта элементу какой-либо структуры или имени переменной, интерпретатор Руъпоп 237 Списки сохраняет ссылку на этот объект, а не его копию (за исключением, когда явно запрашивается выполнение операции копирования). В табл. 8.1 приводятся наиболее типичные операции, применяемые к спискам. Как обычно, за дополнительной информацией о списках вам следует обратиться к руководству по стандартной библиотеке языка РУФ)гоп или запустить Ье1р(115() или б1Г(1151) в интерактивной оболочке, чтобы получить полный список методов списков — этим функциям можно передать существующий список или слово 115(, которое является именем типа данных 'список'.

Таблица В.1. Литералы списков и операции Операция Интерпретация Е1=[] (2=[0,1,2,3] Конкатенация, дублирование [1 4 (2 (2 ° 3 Обход в цикле, проверка вхождения Гог х гп (2 3 1П (2 Уменьшение списка 12[4] = 1 (2[к)] = [4,5,6] гзпце(4) хгзпце(0, 4) (4 = [х-*2 Гог х гп гапце(5)] Когда список определяется литеральным выражением, он записывается как последовательность объектов (точнее, как последовательность (3 = ['зос', ['Зе(', цы']] (2[г] (3[ей) ] [2[к)] 1еп((2) (2.зррепо(4) (2,ех(епо([5,6Л]) (2.зогг() $.2.гпзех(1) (2лпзег(( 1, Х) (2.гечегзе() Ое1 1.2[К] Зе1 [2[1.']] 1.2.рор( ) 52. гееоче( 2) Ьг[1:1] = [] Пустой список Четыре элемента с индексами 0..3 Вложенные списки Индекс, индекс индекса, срез, длина Методы: дополнение списка, сортировка, по- иск, вставка, изменение порядка следования элементов на обратный и т.

д. Присваивание по индексу, присваивание срезу Создание списков/кортежей целых чисел Дополнительные операции над списками (гла- вы 13 и 17) 228 Глава 8. Списки и словари выражений, создающих объекты) в квадратных скобках, разделенных запятыми. Например, вторая строка в табл. 8.1 присваивает переменной Г 2 список из четырех элементов, Вложенные списки описываются как вложенные последовательности квадратных скобок (строка 3), апустые списки определяются как пустая пара квадратных скобок (строка 1).' Многие операции из табл. 8.1 должны выглядеть для вас знакомыми, так как они являются теми же самыми операциями над последовательностями, которые мы применяли к строкам, — индексирование, конкатенация, обход элементов в цикле и т. д.

Кроме того, списки поддерживают специфические для своего типа методы (такие как сортировка, перестановка элементов в обратном порядке, добавление элементов в конец списка и т. д.), а также операции непосредственного изменения списка (удаление элементов, присваивание по индексам и срезам и т. д.). Списки получили эти операции потому, что они относятся к категории объектов изменяемых типов. Списки в действии Возможно, самый лучший способ понять принцип действия списков— это посмотреть на них в действии. Давайте еще раз вернемся к инте- рактивному сеансу работы с интерпретатором и проиллюстрируем опе- рации из табл. 8.1. Базовые операции над списками В рутаоп >» 1вп([1, 2, 3)) 3 »> [1, 2, 3) + [4, 5, 6) [1, 2, 3. 4, т1, 6) »> ['В11') 4 ['вп ', 'вп '.

Характеристики

Тип файла
DJVU-файл
Размер
11,21 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее