×
  • 1. Установка Python 3.7
  • 2. Варианты выполнения кода. Первая программа
  • 3. Объекты. Числа и операции над ними
  • 4. Переменные в Python. Оператор присваивания
  • 5. Функция input()
  • 6. Функция print()
  • 7. Деление нацело и деление по остатку
  • 8. Функции trunc, floor, ceil
  • 9. Деление нацело и по остатку отрицательных чисел в Python
  • 10. Логический тип Bool. Операции сравнения
  • 11. Cтроки и операции над ними
  • 12. Строки: индексы и срезы
  • 13. Строки и их методы
  • 14. Списки и операции над ними
  • 15. Списки: индексы и срезы
  • 16. Списки и их методы
  • 17. Условный оператор if
  • 18. Вложенный оператор if
  • 19. Множественный выбор elif
  • 20. Цикл while
  • 21. Обход всех цифр числа с помощью while
  • 22. Алгоритм Евклида
  • 23. Цикл while. Нахождение всех делителей числа
  • 24. Цикл while. Инструкции break, continue, else
  • 25. Функция range и итерируемые объекты
  • 26. Цикл for. Обход элементов функции range
  • 27. Цикл for. Обход списков и строк
  • 28. Установка, настройка и использование PyCharm
  • 29. Метод подсчета. Сортировка подсчетом Python
  • 30. Вложенные циклы
  • 31. Вложенные списки
  • 32. Треугольник Паскаля
  • 33. Множества в Python. Тип данных set
  • 34. Словари Python. Операции и методы словаря
  • 35. 4 Ситуации, где полезно использовать словарь
  • 36. Как отсортировать словарь в Python
  • 37. Кортежи (tuple). Операции и методы кортежей
  • 38. Функции (def). Определение и вызов функции
  • 39. Зачем нужны функции в программировании
  • 40. Возвращаемое значение функции. Оператор return
  • 41. Область видимости: локальная, глобальная и встроенная.
  • 42. Вложенные функции Python
  • 43. Замыкания в Python. Closure Python
  • 44. Замыкания в Python Часть 2
  • 45. Передача аргументов. Сопоставление аргументов по имени и позиции
  • 46. *args и **kwargs Python. Передача аргументов в функцию
  • 47. Рекурсия в Python. Рекурсивная функция Часть 1
  • 48. Рекурсия в Python. Рекурсивная функция Часть 2
  • 49. Рекурсивный обход файлов
  • 50. Функция enumerate
  • 51. Анонимная функция Lambda
  • 52. Генераторы списков Python | List comprehension
  • 53. Генераторы списков 2 | List comprehension | Вложенные генераторы списков
  • 54. Выражения-генераторы
  • 55. Функция генератор. Создание генератора при помощи yield
  • 56. Функция map Python.
  • 57. Функция filter
  • 58. Функция zip python
  • 59. Сортировка коллекций в Python. Метод sort и функция sorted
  • 60. Декораторы в Python Часть 1
  • 61. Декораторы в Python Часть 2
  • 62. Сортировка по ключу Python. Аргумент key
  • 63. Установка модулей в Python || Установка пакета Python
  • 64. Работа с файлами в Python. Чтение и запись данных
  • 65. Экранированные и служебные символы в Python
  • 66. Встроенная функция isinstance
  • 67. Функции all и any.
  • 68. Форматирование строк. Метод format
  • 69. F-строка
  • 70. Импорт стандартных модулей
  • 71. Импорт собственных модулей в Python
  • 72. 7 видов вызываемых (callable) объектов в Python
  • 73. Метод split и метод join Python
  • 74. Пакеты в Python. Файл __init__, переменная __all__
  • 75. Работаем с JSON в Python. Парсинг JSON, сохраняем JSON в файл
  • Видео доступно только для спонсоров проекта

    Посмотреть данное видео на Boosty на Patreon

    Оформить спонсорскую подписку можно на Youtube Boosty Patreon

    Кортежи (tuple)

    Кортеж (tuple) — упорядоченная коллекция элементов.

    Кортежи очень похожи со спискама(list), за исключением следующих свойств:

    • Кортежи определяются путем включения элементов в круглые скобки "()" в отличии от списков, где элементы заключаются внутри квадратных скобок "[]";
    • Кортежи неизменяемы.
    Создание кортежа

    Первый способ - перечислить внутри круглых скобок элементы через запятую

    >>> a = (1, True, 'hello', 5)
    >>> a
    (1, True, 'hello', 5)
    >>> type(a)
    <сlass 'tuple'> 

    Второй способ создания это перечисление нескольких элементов через запятую без скобок. В таком случае все равно создаться кортеж.

    >>> a = 1,True,'hello',5
    >>> a
    (1, True, 'hello', 5)

    Кортеж получится даже если вы укажите один элемент, но после него поставите запятую

    >>> a = 1,
    >>> a
    (1,)

    Но если вы поставите один элемент без запятой или внутри скобок, это уже будет не кортеж.

    >>> a = 1
    >>> a
    1
    >>> b = (5)
    >>> b
    5

    Также кортеж можно создать при помощи функции tuple() и передать ей итерируемый объект.

    >>> a = tuple([1,2,3])
    >>> a
    (1, 2, 3)
    >>> b = tuple(range(4))
    >>> b
    (0, 1, 2, 3)
    >>> c = tuple('hello')
    >>> c
    ('h', 'e', 'l', 'l', 'o')
    >>> d = tuple(1)
    Traceback (most recent call last):
      File "", line 1, in 
        d = tuple(1)
    TypeError: 'int' object is not iterable

    В последнем примере мы переделали в функцию tuple() целое числа, и из-за того что оно не являются итерируемой последовательностью возникла ошибка.

    Для создания пустого кортежа нужно поставить пару пустых круглых скобок или вызвать функцию tuple() без параметров:

     >>> a = ()
    >>> a
    ()
    >>> b = tuple()
    >>> b
    ()
    Операции над кортежами
    Нахождение длины
    >>> a = (1, 2, 3)
    >>> len(a)
    3
    >>> len(())
    0
    Сложение (спецление) кортежей
    >>> a = (1, 2, 3)
    >>> b = (4, 5)
    >>> a+b
    (1, 2, 3, 4, 5)
    >>> b+a
    (4, 5, 1, 2, 3)
    Дублирование кортежа
    >>> a = (1, 2, 3)
    >>> a*2
    (1, 2, 3, 1, 2, 3)
    Нахождение max() и min()

    Кортеж должен состоять из однотипных элементов

    >>> a = (21, 32, 9, 10, 30)
    >>> min(a)
    9
    >>> max(a)
    32
    Применение функции sum()
    >>> a = (21, 32, 9, 10, 30)
    >>> sum(a)
    Проверка вхождения элемента в кортеж
    >>> a = (1, 2, 3)
    >>> 2 in a
    True
    >>> 5 in a
    False
    >>> 4 not in a
    True
    Обращение по индексу кортежа
    >>> a = (1, True, 'hello', 55)
    >>> a[1]
    True
    >>> a[3]
    55
    >>> a[-2]
    'hello'
    Срезы индексов кортежа
    >>> a = (10, 20, 5, 8, 15, 35)
    >>> a[1:3]
    (20, 5)
    >>> a[2:5]
    (5, 8, 15)
    Кортеж - неизменяемый объект

    Элементы кортежа нельзя изменять. При попытке сделать такое изменение выскачит исключение TypeError.

    >>> a = (1, True, 'hello', 55)
    >>> a[3]=100
    Traceback (most recent call last):
      File "", line 1, in 
        a[3]=100
    TypeError: 'tuple' object does not support item assignment
    Методы кортежа
    Метод .index(value[, start[,finish]])

    Данный метод принимает обязательный параметр value и возвращает индекс первого элемента слева с таким значением. С помощью необязательных параметров start и finish можно ограничить индексы поиска. В случае если в кортеже нет значения вызывается исключение ValueError.

    >>> a = (1, 2, 3, 1, 5)
    >>> a.index(1)
    0
    >>> a.index(1,2)
    3
    >>> a.index(4)
    Traceback (most recent call last):
      File "", line 1, in 
        a.index(4)
    ValueError: tuple.index(x): x not in tuple
    Метод .count(value)

    Данный метод принимает обязательный параметр value и возвращает количество раз появления значения value в кортеже

    >>> a
    (1, 2, 3, 1, 5)
    >>> a.count(1)
    2
    >>> a.count(4)
    0
    Обход элементов кортежа в цикле for

    Обход по значениям элементов

    >>> a = (1, True, 'hello', 55)
    >>> for i in a:
    	print(i)
    
    1
    True
    hello
    55

    Обход по индексам элементов кортежа

    >>> a = (1, True, 'hello', 55)
    >>> for i in range(len(a)):
    	print(a[i])
    
    1
    True
    hello
    55

    Попрактиковаться на stepik Перейти

    Записывайтесь на курсы по Python

    Задать вопрос