Перейти к содержимому

Выберите методы которые есть у кортежей

  • автор:

Кортежи

Кортежи (tuple) в Python – это те же списки за одним исключением. Кортежи неизменяемые структуры данных. Так же как списки они могут состоять из элементов разных типов, перечисленных через запятую. Кортежи заключаются в круглые, а не квадратные скобки.

>>> a = (10, 2.13, "square", 89, 'C') >>> a (10, 2.13, 'square', 89, 'C')

Из кортежа можно извлекать элементы и брать срезы:

>>> a[3] 89 >>> a[1:3] (2.13, 'square')

Однако изменять его элементы нельзя:

>>> a[0] = 11 Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment

Также у типа tuple нет методов для добавления и удаления элементов.

Возникает резонный вопрос. Зачем в язык программирования был введен этот тип данных, по-сути представляющий собой неизменяемый список? Дело в том, что иногда надо защитить список от изменений. Преобразовать же кортеж в список, если это потребуется, как и выполнить обратную операцию легко с помощью встроенных в Python функций list() и tuple() :

>>> a = (10, 2.13, "square", 89, 'C') >>> b = [1, 2, 3] >>> c = list(a) >>> d = tuple(b) >>> c [10, 2.13, 'square', 89, 'C'] >>> d (1, 2, 3)

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

def add_num(seq, num): for i in range(len(seq)): seq[i] += num return seq origin = [3, 6, 2, 6] changed = add_num(origin, 3) print(origin) print(changed)

Данная программа неправильная. Хотя никаких выбросов исключений не произойдет, она содержит логическую ошибку. На выводе получаем:

[6, 9, 5, 9] [6, 9, 5, 9]

То есть исходный список был также изменен. Параметр seq содержал ссылку не на свой локальный список, а на список-оригинал. Таким образом, в операторе return здесь нет смыла. Если функция замысливалась как изменяющая глобальный список, то программа должна выглядеть так:

def add_num(seq, num): for i in range(len(seq)): seq[i] += num origin = [3, 6, 2, 6] add_num(origin, 3) print(origin)

Что делать, если все же требуется не изменять исходный список, а сформировать по нему новый. Задачу можно решить несколькими способами. Во первых, в функции можно создать локальный список, после чего возвращать его:

def add_num(seq, num): new_seq = [] for i in seq: new_seq.append(i + num) return new_seq origin = [3, 6, 2, 6] changed = add_num(origin, 3) print(origin) print(changed)
[3, 6, 2, 6] [6, 9, 5, 9]

Исходный список в функции не меняется. Его элементы лишь перебираются.

Второй способ защитить список-оригинал – использовать кортеж. Этот способ более надежный, так как в больших программах трудно отследить, что ни одна функция не содержит команд изменения глобальных данных.

Хотя преобразовывать к кортежу можно как при передаче в функцию, так и в самой функции, лучше сразу делать глобальный список кортежем. Поскольку неизменяемые объекты передаются по значению, а не по ссылке, то в функцию будет поступать копия структуры, а не оригинал. Даже если туда передается оригинал, изменить его невозможно. Можно лишь, как вариант, скопировать его и/или изменить тип, создав тем самым локальную структуру, и делать с ней все, что заблагорассудится.

def add_num(seq, num): seq = list(seq) for i in range(len(seq)): seq[i] += num return seq origin = (3, 6, 2, 6) changed = add_num(origin, 3) print(origin) print(changed)

Списки в кортежах

Кортежи могут содержать списки, также как списки быть вложенными в другие списки.

>>> nested = (1, "do", ["param", 10, 20])

Как вы думаете, можем ли мы изменить список [«param», 10, 20] вложенный в кортеж nested ? Список изменяем, кортеж – нет. Если вам кажется, что нельзя, то вам кажется неправильно. На самом деле можно:

>>> nested[2][1] = 15 >>> nested (1, 'do', ['param', 15, 20])

Примечание. Выражения типа nested[2][1] используются для обращения к вложенным объектам. Первый индекс указывает на позицию вложенного объекта, второй – индекс элемента внутри вложенного объекта. Так в данном случае сам список внутри кортежа имеет индекс 2, а элемент списка 10 – индекс 1 в списке.

Странная ситуация. Кортеж неизменяем, но мы все-таки можем изменить его. На самом деле кортеж остается неизменяемым. Просто в нем содержится не сам список, а ссылка на него. Ее изменить нельзя. Но менять сам список можно.

Чтобы было проще понять, перепишем кортеж так:

>>> l = ["param", 10, 20] >>> t = (1, "do", l) >>> t (1, 'do', ['param', 10, 20])

Кортеж содержит переменную-ссылку. Поменять ее на другую ссылку нельзя. Но кортеж не содержит самого списка. Поэтому его можно менять как угодно:

>>> l.pop(0) 'param' >>> t (1, 'do', [10, 20])

Однако такой номер не проходит с неизменяемыми типами:

>>> a = "Kat" >>> t = (a, l) >>> t ('Kat', [10, 20]) >>> a = "Bat" >>> t ('Kat', [10, 20])

Они передаются в кортеж как и в функцию – по значению. То есть их значение копируется в момент передачи.

Практическая работа

  1. Чтобы избежать изменения исходного списка, не обязательно использовать кортеж. Можно создать его копию с помощью метода списка copy() или взять срез от начала до конца [:] . Скопируйте список первым и вторым способом и убедитесь, что изменение копий никак не отражается на оригинале.
  2. Заполните один кортеж десятью случайными целыми числами от 0 до 5 включительно. Также заполните второй кортеж числами от -5 до 0. Для заполнения кортежей числами напишите одну функцию. Объедините два кортежа с помощью оператора +, создав тем самым третий кортеж. С помощью метода кортежа count() определите в нем количество нулей. Выведите на экран третий кортеж и количество нулей в нем.

Примеры решения и дополнительные уроки в pdf-версии курса

X Скрыть Наверх

Python. Введение в программирование

7. Кортежи

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

Индекс начинается с нуля, как и в случае списков, а отрицательный индекс — с -1. Этот индекс указывает на последний элемент кортежа.

Где используется?

Кортежи — распространенная структура данных для хранения последовательностей в Python.

  • .index() — используется для вывода индекса элемента.
  • .count() — используется для подсчета количества элементов в кортеже.
  • sum() — складывает все элементы кортежа.
  • min() — показывает элемент кортежа с наименьшим значением.
  • max() — показывает элемент кортежа с максимальным значением.
  • len() — показывает количество элементов кортежа.

Рекомендации по работе с кортежами

  1. Кортежи создаются с помощью круглых скобок: () ;
  2. Элементы внутри кортежей разделяются запятыми;
  3. Важно соблюдать особенности синтаксиса, характерные для каждого отдельного типа данных в кортеже — кавычки для строк, числа и булевые значения без кавычек и так далее.

Дальше — кортеж, включающий элементы разных типов:

 
>>> p_tup = ("Лондон", "Пекин", 44, True)
>>> print(p_tup)
('Лондон', 'Пекин', 44, True)

Доступ к элементам: получить элементы кортежа можно с помощью соответствующего индекса в квадратных скобках.

Например, для получения элемента «Лондон» нужно использовать следующий индекс: p_tup[0]

А для 44: p_tup[2]

Последний элемент следующего кортежа — булево True . Доступ к нему мы получаем с помощью функции print .

 
>>> p_tup = ("Лондон", "Пекин", 44, True)
>>> print(p_tup[3])
True

Пример получения первого элемента кортежа.

 
>>> p_tup = ("Лондон", "Пекин", 44, True)
>>> print(p_tup[0])
'Лондон'
  1. Обратное индексирование: по аналогии с элементами списка элементы кортежа также можно получить с помощью обратного индексирования. Оно начинается с -1. Это значение указывает на последний элемент.
    Так, для получения последнего элемент p_tup нужно писать p_tup[-1] . p_tup[-2] вернет второй элемент с конца и так далее.
  2. Главное отличие кортежей от списков — они неизменяемые. Кортежам нельзя добавлять или удалять элементы.
    Поэтому эта структура используется, когда известно, что элементы не будут меняться в процессе работы программы.
 
>>> p_tup = ("Лондон", "Пекин", 44, True)
>>> print(p_tup[-1])
True

Функция .index()

.index() — полезный метод, используемый для получения индекса конкретного элемента в кортеже.

Посмотрим на примере.

 
>>> p_tup = ("Лондон", "Пекин", 44, True)
>>> print(p_tup.index("Лондон"))
0

Функция .count()

Метод .count() подходит для определения количества вхождений определенного элемента в кортеже.

В примере ниже можно увидеть, что считается количество вхождений числа 101 в списке p_cup . Результат — 2.

 
>>> p_tup = (5, 101, 42, 3, 101)
>>> print(p_tup.count(101))
2

Функция sum()

Функция sum() возвращает общую сумму чисел внутри кортежа.

 
>>> lucky_numbers = (5, 55, 4, 3, 101, 42)
>>> print(sum(lucky_numbers))
210

Функция min()

Функция min() вернет элемент с самым маленьким значением в кортеже.

 
>>> lucky_numbers = (5, 55, 4, 3, 101, 42)
>>> print(min(lucky_numbers))
5

Функция max()

Функция max() вернет элемент с максимальным значением в кортеже.

 
>>> lucky_numbers = (5, 55, 4, 3, 101, 42)
>>> print(max(lucky_numbers))
101

Задачи к уроку

Попробуйте решить задачи к этому уроку для закрепления знаний.

1. Создайте кортеж с цифрами от 0 до 9 и посчитайте сумму.

# данный код numbers = print(sum(numbers)) # требуемый вывод: # 45

2. Введите статистику частотности букв в кортеже.

# данный код long_word = ( 'т', 'т', 'а', 'и', 'и', 'а', 'и', 'и', 'и', 'т', 'т', 'а', 'и', 'и', 'и', 'и', 'и', 'т', 'и' ) print("Количество 'т':", ) print("Количество 'a':", ) print("Количество 'и':", ) # требуемый вывод: # Колличество 'т': 5 # Колличество 'а': 3 # Колличество 'и': 11
  1. Допишите скрипт для расчета средней температуры.
    Постарайтесь посчитать количество дней на основе week_temp . Так наш скрипт сможет работать с данными за любой период.
# данный код week_temp = (26, 29, 34, 32, 28, 26, 23) sum_temp = days = mean_temp = sum_temp / days print(int(mean_temp)) # требуемый вывод: # 28

Тест по кортежам

Пройдите тест к этому уроку для проверки знаний. В тесте 5 вопросов, количество попыток неограниченно.

Кортежи в Python

Кортеж в Python похож на список. Только в отличие от списка кортеж — неизменяемый, то есть менять его элементы после создания нельзя.

Как создать кортеж

Чтобы создать кортеж, нужно поместить все элементы, разделенные запятыми, в круглые скобки () . Скобки не обязательны, но рекомендуем их использовать.

Кортеж может иметь любое количество элементов разных типов (целые числа, числа с плавающей точкой, списки, строки и т. д).

# Разные типы кортежей # Пустой кортеж my_tuple = () print(my_tuple) # Кортеж с целыми числами my_tuple = (1, 2, 3) print(my_tuple) # Кортеж с разными типами данных my_tuple = (1, "Привет", 3.4) print(my_tuple) # Вложенный кортеж my_tuple = ("мышь", [8, 4, 6], (1, 2, 3)) print(my_tuple)

Вывод:

()
(1, 2, 3)
(1, 'Привет', 3.4)
('мышь', [8, 4, 6], (1, 2, 3))

Кортеж можно создать и без использования скобок. Это называется упаковкой кортежа.

# упаковываем кортеж my_tuple = 3, 4.6, "собака" print(my_tuple) # точно так же можно распаковать кортеж a, b, c = my_tuple print(a) # 3 print(b) # 4.6 print(c) # собака

Вывод:

(3, 4.6, 'собака')
3
4.6
собака

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

my_tuple = ("привет") print(type(my_tuple)) # # Создаем кортеж с одним элементом my_tuple = ("привет",) print(type(my_tuple)) # # Можно и без скобок my_tuple = "привет", print(type(my_tuple)) #

Вывод:

Как получить элемент кортежа

1. По индексу

Мы можем использовать оператор индекса [] , чтобы получить доступ к элементу кортежа.

Примечание. Обратите внимание, что индексирование кортежа начинается с 0. То есть первый элемент кортежа имеет индекс 0.

Кортеж из 9 элементов будет иметь индексы от 0 до 8. Попытка получить доступ к индексу за пределами диапазона индексов кортежа (в нашем случае 9, 10 и т. д.) приведет к ошибке IndexeError.

Индекс должен быть целым числом, поэтому мы не можем использовать float или другие типы в качестве индекса. Это приведет к ошибке TypeError.

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

my_tuple = ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') print(my_tuple[0]) # 'c' print(my_tuple[5]) # 'h' # Вызов print(my_tuple[9]) приведет к ошибке # IndexError: list index out of range # Вызов my_tuple[2.0] приведет к ошибке # TypeError: list indices must be integers, not float # Индекс должен быть целым числом # вложенный кортеж n_tuple = ("мышь", [8, 4, 6], (1, 2, 3)) # вложенное индексирование print(n_tuple[0][3]) # 'ь' print(n_tuple[1][1]) # 4

Вывод:

c
h
ь
4
2. По отрицательному индексу

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

Индекс -1 отсылает к последнему элементу, -2 — ко второму элементу с конца и так далее.

my_tuple = ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') # Вывод: 'k' print(my_tuple[-1]) # Вывод: 'c' print(my_tuple[-9])

Вывод:

3. С помощью срезов

Получить доступ к диапазону элементов в кортеже можно с помощью оператора срезов : .

Использование срезов еще называют слайсингом, от английского slicing — «нарезка».

my_tuple = ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') # элементы со 2 по 4 # Вывод: ('o', 'd', 'e') print(my_tuple[1:4]) # элементы от начала и до второго элемента # Вывод: ('c', 'o') print(my_tuple[:-7]) # два последних элемента # Вывод: ('c', 'k') print(my_tuple[7:]) # все элементы от начала до конца # Вывод: ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') print(my_tuple[:])

Вывод:

('o', 'd', 'e')
('c', 'o')
('c', 'k')
('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k')

Как изменить кортеж

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

Переназначить кортеж тоже можно.

my_tuple = (4, 2, 3, [6, 5]) # my_tuple[1] = 9 # Эта строка приведет к ошибке # TypeError: 'tuple' object does not support item assignment # Значения изменяемого элемента менять можно my_tuple[3][0] = 9 # Вывод: (4, 2, 3, [9, 5]) print(my_tuple) # Можно переназначить кортеж my_tuple = ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') # Вывод: ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') print(my_tuple)

Вывод:

(4, 2, 3, [9, 5])
('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k')

В Python кортежи можно объединить с помощью оператора + . Это называется конкатенацией.

С помощью оператора * можно повторить элементы в кортеже заданное количество раз.

Оба оператора + и * приводят к созданию нового кортежа.

# Конкатенация #Вывод: (1, 2, 3, 4, 5, 6) print((1, 2, 3) + (4, 5, 6)) # Повторение # Вывод: ('Повторить', 'Повторить', 'Повторить') print(("Повторить",) * 3)

Вывод:

(1, 2, 3, 4, 5, 6)
('Повторить', 'Повторить', 'Повторить')

Как удалить кортеж

Изменять элементы кортежа нельзя. Это значит, что удалять их тоже нельзя.

В Python можно только полностью удалить кортеж — с помощью ключевого слова del .

my_tuple = ('c', 'o', 'd', 'e', 'c', 'h', 'i', 'c', 'k') # нельзя удалить элементы кортежа # TypeError: 'tuple' object doesn't support item deletion # del my_tuple[3] # зато можно удалить кортеж полностью del my_tuple # вызов приведет к ошибке NameError: name 'my_tuple' is not defined print(my_tuple)

Вывод:

Traceback (most recent call last): 
File "", line 12, in
NameError: name 'my_tuple' is not defined

Методы кортежа

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

Для кортежа существует только два метода: .count() и .index() .

my_tuple = ('я', 'б', 'л', 'о', 'к', 'о',) print(my_tuple.count('о')) # Вывод: 2 print(my_tuple.index('к')) # Вывод: 4

Вывод:

Другие операции с кортежами

1. Проверка на вхождение в кортеж

Мы можем проверить, существует ли тот или иной элемент в кортеже или нет, с помощью ключевого слова in и not in .

my_tuple = ('я', 'б', 'л', 'о', 'к', 'о',) print('я' in my_tuple) print('х' in my_tuple) print('п' not in my_tuple)

Вывод:

True
False
True

2. Итерирование по кортежу

Для перебора элементов кортежа можно использовать цикл for .

for name in ('Андрей', 'Маша'): print("Привет, ", name)

Вывод:

Привет, Андрей
Привет, Маша

Преимущества кортежа над списком

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

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 © ООО "Алгоритмы и практика"

Решение модуля 6.2 Поколение Python: для продвинутых

Модуль 6.2 (Основы работы с кортежами. Часть 1) курса «Поколение Python: курс для продвинутых» расскажет о:

  1. Функция tuple()
  2. Особенности кортежей
  3. Методы кортежей
  4. Вложенные кортежи

Публикуем решения на урок 6.2 Основы работы с кортежами. Часть 1

Какой индекс у числа 337337 в кортеже numbers ?

numbers = (0, 1090, 7, 21, 17, 337, 22)

Чему будет равно numbers[0][1][1] для вложенного кортежа:

numbers = ((0, (9, 2)), (1, (4, 6, 3), (5, 2, 3), 8, 3))

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

countries = (‘Russia’, ‘Argentina’, ‘Spain’, ‘Slovakia’, ‘Canada’, ‘Slovenia’, ‘Italy’)

countries = ('Russia', 'Argentina', 'Spain', 'Slovakia', 'Canada', 'Slovenia', 'Italy') last = countries[6] print(last)

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

Примечание. Результатом вывода должна быть строка (2, 3, 5, 7, 11, 13) .

primes = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71)

primes = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71) print(primes[:6])

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

Примечание. Результатом вывода должна быть строка ('Slovakia', 'Canada', 'Slovenia', 'Italy', 'Spain', 'Ukraine', 'Chile', 'Cameroon') .

countries = (‘Russia’, ‘Argentina’, ‘Slovakia’, ‘Canada’, ‘Slovenia’, ‘Italy’, ‘Spain’, ‘Ukraine’, ‘Chile’, ‘Cameroon’)

countries = ('Russia', 'Argentina', 'Slovakia', 'Canada', 'Slovenia', 'Italy', 'Spain', 'Ukraine', 'Chile', 'Cameroon') print(countries[2:]) 

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

countries = (‘Russia’, ‘Argentina’, ‘Slovakia’, ‘Canada’, ‘Slovenia’, ‘Italy’, ‘Spain’, ‘Ukraine’, ‘Chile’, ‘Cameroon’)

countries = ('Russia', 'Argentina', 'Slovakia', 'Canada', 'Slovenia', 'Italy', 'Spain', 'Ukraine', 'Chile', 'Cameroon') print(countries[:-3])

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

countries = (‘Russia’, ‘Argentina’, ‘Slovakia’, ‘Canada’, ‘Slovenia’, ‘Italy’, ‘Spain’, ‘Ukraine’, ‘Chile’, ‘Cameroon’)

countries = ('Russia', 'Argentina', 'Slovakia', 'Canada', 'Slovenia', 'Italy', 'Spain', 'Ukraine', 'Chile', 'Cameroon') print(countries[3:-2])

Дополните приведенный код так, чтобы переменная number содержала количество элементов кортежа countries .

countries = (‘Romania’, ‘Poland’, ‘Estonia’, ‘Bulgaria’, ‘Slovakia’, ‘Slovenia’, ‘Hungary’)

countries = ('Romania', 'Poland', 'Estonia', 'Bulgaria', 'Slovakia', 'Slovenia', 'Hungary') number = len(countries) print(number)

Дополните приведенный код так, чтобы он вывел сумму минимального и максимального элементов кортежа numbers .

numbers = (12.5, 3.1415, 2.718, 9.8, 1.414, 1.1618, 1.324)

numbers = (12.5, 3.1415, 2.718, 9.8, 1.414, 1.1618, 1.324) print(max(numbers) + min(numbers)) 

Дополните приведенный код так, чтобы переменная index , содержала индекс элемента «Slovenia» в кортеже countries .

countries = (‘Russia’, ‘Argentina’, ‘Spain’, ‘Slovakia’, ‘Canada’, ‘Slovenia’, ‘Italy’)

countries = ('Russia', 'Argentina', 'Spain', 'Slovakia', 'Canada', 'Slovenia', 'Italy') index = countries.index('Slovenia') print(index)

Дополните приведенный код так, чтобы переменная number , содержала количество вхождений «Spain» в кортеж countries .

countries = (‘Russia’, ‘Argentina’, ‘Spain’, ‘Slovakia’, ‘Canada’, ‘Slovenia’, ‘Italy’, ‘Spain’, ‘Ukraine’, ‘Chile’, ‘Spain’, ‘Cameroon’)

countries = ('Russia', 'Argentina', 'Spain', 'Slovakia', 'Canada', 'Slovenia', 'Italy', 'Spain', 'Ukraine', 'Chile', 'Spain', 'Cameroon') number = countries.count('Spain') print(number) 

Дополните приведенный код, используя операторы конкатенации (+) и умножения кортежа на число (*), чтобы он вывел кортеж:

(1, 2, 3, 1, 2, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 9, 10, 11, 12, 13) .

numbers1 = (1, 2, 3)
numbers2 = (6,)
numbers3 = (7, 8, 9, 10, 11, 12, 13)

numbers1 = (1, 2, 3) numbers2 = (6,) numbers3 = (7, 8, 9, 10, 11, 12, 13) print(numbers1 * 2 + numbers2 * 9 + numbers3)

В переменную city_name вводится название города (например, Москва), а в переменную city_year – год его основания (например, 11471147). Заполните пропущенную строку таким образом, чтобы в переменной city оказался кортеж из значений этих двух переменных (сначала название города, затем год основания).

city_name = input()
city_year = int(input())

city_name = input() city_year = int(input()) city = tuple([city_name, city_year]) print(city) 

Дополните приведенный код, так чтобы получить список, содержащий только непустые кортежи исходного списка tuples , не меняя порядка их следования.

tuples = [(), (), (»,), (‘a’, ‘b’), (), (‘a’, ‘b’, ‘c’), (1,), (), (), (‘d’,), (», »), ()]

tuples = [(), (), ('',), ('a', 'b'), (), ('a', 'b', 'c'), (1,), (), (), ('d',), ('', ''), ()] non_empty_tuples = [i for i in tuples if i != tuple()] print(non_empty_tuples) 

Дополните приведенный код так, чтобы переменная new_tuples , содержала список кортежей на основе списка tuples с последним элементом каждого кортежа, замененным на численное значение 100100.

tuples = [(10, 20, 40), (40, 50, 60), (70, 80, 90), (10, 90), (1, 2, 3, 4), (5, 6, 10, 2, 1, 77)]

tuples = [(10, 20, 40), (40, 50, 60), (70, 80, 90), (10, 90), (1, 2, 3, 4), (5, 6, 10, 2, 1, 77)] new_tuples = [i[:-1] + (100,) for i in tuples] print(new_tuples)

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-na-domu-voronezh.ru/