Содержание[Скрывать][Показывать]
Эта лекция посвящена еще одной важной структуре Python, называемой кортежем.
Кортеж
Кортежи похожи на списки, поэтому мы можем использовать их для хранения списка элементов. Но в отличие от списков, мы не можем изменять их, добавлять новые элементы или удалять существующие элементы. Можно сказать, что кортежи неизменны.
Позволь мне показать тебе. Кортежи обозначаются круглыми скобками, а не квадратными скобками в списках.
numbers = (4, 1, 7, 5, 0, 9)
Теперь, если мы вытащим список методов для кортежей, вы увидите, что у нас нет методов добавления или вставки, поэтому в этот кортеж нельзя добавлять новые элементы. У нас есть только два метода: count и index.
Мы используем count для подсчета количества вхождений элемента. «Индекс» используется для поиска индекса первого вхождения элемента. Таким образом, мы можем получить информацию только о кортеже и не можем его изменить. Кстати, эти другие методы, которые вы здесь видите, начинаются с двух символов подчеркивания.
Мы называем их магическими методами. Это более сложная тема, и мы коснемся ее в наших будущих сериях.
Помимо неизменности, кортежи обладают большинством характеристик списка.
С практической точки зрения большую часть времени вы будете использовать списки, но и кортежи также полезны. Если вы хотите создать список элементов и убедиться, что нигде в вашей программе вы случайно не изменили этот список, то лучше использовать кортеж.
Распаковка
В этом разделе я покажу вам мощную функцию, которая есть в Python и называется распаковкой.
Определим кортеж «координата»
coordinate = (1, 2, 3)
Теперь представьте, что это координаты для «x», «y» и «z». Теперь предположим, что мы хотим получить эти значения и использовать их в нескольких сложных выражениях в нашей программе. Может быть, мы хотим включить их как часть большой сложной формулы.
Итак, вместе нам придется написать такой код:
coordinate[0] * coordinate[1] * coordinate[2]
Эта строка кода умножит все координаты, но писать наш код таким образом неэффективно. Во-первых, давайте воспользуемся лучшим подходом и сохраним эти координаты в отдельных переменных.
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
Так лучше. Верно? Так что пока ничего нового. Теперь позвольте мне показать вам мощную функцию, называемую распаковкой, и с ее помощью мы можем добиться того же результата с гораздо меньшим количеством кода.
x, y, z, = coordinate
Теперь эта единственная строка кода точно эквивалентна трем строкам кода, написанным выше. Позвольте мне объяснить вам, как это работает.
Когда интерпретатор Python увидит этот оператор, он получит первый элемент в этом кортеже и присвоит его переменной. Точно так же вторым и третьим элементам будут присвоены переменные. При этом мы распаковываем этот кортеж в 3 переменные. Давайте проверим наш вывод.
Распаковку также можно выполнить с помощью списков.
Словари
Мы собираемся узнать о словарях в Python. Мы используем словари в ситуациях, когда хотим хранить информацию, поступающую в виде пар ключ-значение.
Вот пример. Подумайте о покупателе с набором атрибутов, таких как имя, электронная почта, номер телефона, адрес и так далее. Теперь каждый из этих атрибутов имеет значение. Например:
name = Jay
email = [email protected]
В этом примере нашими ключами являются имя, электронная почта и телефон. Каждый ключ связан со значением, поэтому здесь мы используем словарь. Со словарем мы можем хранить кучу пар ключ-значение. Позвольте мне показать вам, как определить словарь в Python.
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
Ключ может быть установлен в виде строк, чисел, логических значений или чего-либо еще. Ключи уникальны и могут быть определены только один раз, т.е. я не могу снова определить «возраст» каким-то другим числом. Они также чувствительны к регистру.
Теперь, если я напечатаю customer["name"],
он назовет имя клиента. Распечатаем на терминале:
Мы также можем использовать методы со словарями. Та же самая функция, продемонстрированная выше, может быть воспроизведена с помощью метода «get».
Существует одно особое различие между двумя вышеуказанными методами. Позвольте мне продемонстрировать это.
Вы можете видеть, что когда мы просто печатали несуществующий ключ, это приводило к ошибке. С другой стороны, использование метода для вызова несуществующего ключа приводит к результату «нет», который представляет отсутствие значения. При использовании метода «get» мы также можем указать значение по умолчанию.
Например, если в этом словаре нет ключа «дата рождения», мы можем предоставить его следующим образом:
customer.get("birthdate", "Jan 01, 1994")
Мы также можем обновить любой ключ в словаре, подобно списку. Допустим, мы хотим обновить ключ имени в нашем словаре. Вот как мы это сделаем.
customer["name"] = "Shahbaz"
Аналогичный синтаксис можно использовать и для добавления нового ключа в наш словарь. Давайте добавим ключ «дата рождения» аналогичным образом.
customer["birthdate"] = "Jan 01, 1994"
Итак, это основы использования словарей в Python. Они чрезвычайно важны и имеют множество применений в реальном мире.
Упражнение
Вы собираетесь написать программу, которая преобразует цифры в слова следующим образом:
Решения
Вот решение для вас, ребята.
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
Точно так же вы можете создавать другие забавные программы, такие как «конвертер эмодзи». Получайте удовольствие от PYTHONERS!
Заворачивать!
Надеюсь, вам понравилась эта лекция. Далее мы собираемся погрузиться в важный аспект программирования Python, функции и параметры.
Оставьте комментарий