Как из кортежа сделать список
Перейти к содержимому

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

  • автор:

Преобразовать список кортежей в список списков [закрыт]

Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.

Закрыт 2 года назад .

результат

сверху мой вывод. снизу правильный, каким образом я могу изменить список в массив?

Основы работы со списками и кортежами¶

Список — упорядоченная изменяемая последовательность объектов произвольного типа. В языке Python списки представлены типом list .

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

Изменяемая последовательность — последвательность, в которой после ее создания возможно изменение количества элементов или присваивание им объектов.

Создание списков и кортежей¶

>>> s = [] >>> type(s) >>> s = [1, 2, 3] >>> type(s) >>> s = list('iterable_obj') >>> type(s) >>> s ['i', 't', 'e', 'r', 'a', 'b', 'l', 'e', '_', 'o', 'b', 'j'] 
>>> s = () >>> type(s) >>> s = 1, >>> type(s) >>> s = tuple('iterable_obj') >>> type(s) >>> s ('i', 't', 'e', 'r', 'a', 'b', 'l', 'e', '_', 'o', 'b', 'j') 

Используя конструкторы list() и tuple() , можно выполнять преобразование последовательностей в список либо кортеж.

Операции со списками и кортежами¶

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

>>> lst = [1, 2, 3] 

Проверка на принадлежность элемента x последовательности s :

>>> 3 in lst True >>> 4 in lst False 

Наименьший элемент последовательности:

>>> min(lst) 1 

Наибольший элемент последовательности:

>>> max(lst) 3 

Методы списков и кортежей¶

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

Вставка элемента в конец списка:

>>> x = [1, 2, 3] >>> x.append(5) >>> x [1, 2, 3, 5] 

s. extend ( L ) ¶

Добавление элементов списка L в конец списка:

>>> x = [1, 2, 3] >>> x.extend([4, 5, 6]) >>> x [1, 2, 3, 4, 5, 6] 

s. insert ( i, x ) ¶

Вставка элемента x по индексу i:

>>> x = [1, 2, 3] >>> x.insert(1, 5) >>> x [1, 5, 2, 3] 

s. remove ( x ) ¶

Удаление первого вхождения x из списка:

>>> x = [1, 2, 3, 3, 2, 1] >>> x.remove(2) >>> x [1, 3, 3, 2, 1] 

Извлечение элемента из списка:

>>> x = [1, 2, 3, 3, 2, 1] >>> x.pop(1) 2 >>> x [1, 3, 3, 2, 1] >>> x.pop() 1 >>> x [1, 3, 3, 2] 

Удаление всех элементов из списка:

>>> x = [1, 2, 3] >>> x.clear() >>> x [] 
>>> x = [1, 2, 3, 3, 2, 1] >>> x.sort() >>> x [1, 1, 2, 2, 3, 3] 

Изменение порядка элементов на обратный:

>>> x = [1, 2, 3] >>> x.reverse() >>> x [3, 2, 1] 

s. index ( x ) ¶

Поиск индекса первого вхождения элемента:

>>> x = [1, 2, 3, 3, 2, 1] >>> x.index(2) 1 

Задачи¶

  1. Пользователь вводит числа a и b . Создать список, содержащий квадраты целых чисел расположенных между ними.
  2. Пользователь вводит числа до тех пор, пока не введет слово end . Поместите введенные числа в список. Выведите на экран только нечетные элементы списка.
  3. Пользователь вводит числа до тех пор, пока не введет слово ‘end’. Поместите введенные числа в список. Подсчитайте количество четных и нечетных элементов в списке.
  4. Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента.
  5. Дан список чисел. Поменяйте местами минимальный и максимальный элемент этого списка.
  6. Дан список чисел. Определите, сколько в нем различных элементов.
  7. Петя перешёл в другую школу. На уроке физкультуры ему понадобилось определить своё место в строю. Помогите ему это сделать. Программа получает на вход последовательность чисел, означающих рост каждого человека в строю. После этого вводится число X – рост Пети. Все числа во входных данных натуральные и не превышают 200. Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них.
  8. Дан список чисел. Циклически сдвиньте элементы списка вправо (A[0] переходит на место A[1], A[1] на место A[2], …, последний элемент переходит на место A[0]).

© Copyright Revision d00c0df4 .

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest

Versions latest Downloads html On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.

Python. Урок 8. Кортежи (tuple)

Follow us on Google Plus Follow us on rss

Данный урок посвящен кортежам (tuple) в Python. Основное внимание уделено вопросу использования кортежей, почему иногда лучше применять их, а не списки, рассмотрены способы создания и основные приемы работы с кортежами. Также затронем тему преобразования кортежа в список и обратно.

Что такое кортеж (tuple) в Python?

Кортеж (tuple) – это неизменяемая структура данных, которая по своему подобию очень похожа на список. Как вы наверное знаете, а если нет, то, пожалуйста, ознакомьтесь с седьмым уроком, список – это изменяемый тип данных. Т.е. если у нас есть список a = [1, 2, 3] и мы хотим заменить второй элемент с 2 на 15, то мы может это сделать, напрямую обратившись к элементу списка.

>>> a = [1, 2, 3] >>> print(a) [1, 2, 3] >>> a[1] = 15 >>> print(a) [1, 15, 3]

С кортежем мы не можем производить такие операции, т.к. элементы его изменять нельзя.

>>> b = (1, 2, 3) >>> print(b) (1, 2, 3) >>> b[1] = 15 Traceback (most recent call last): File "", line 1, in module> b[1] = 15 TypeError: 'tuple' object does not support item assignment

Зачем нужны кортежи в Python?

Существует несколько причин, по которым стоит использовать кортежи вместо списков. Одна из них – это обезопасить данные от случайного изменения. Если мы получили откуда-то массив данных, и у нас есть желание поработать с ним, но при этом непосредственно менять данные мы не собираемся, тогда, это как раз тот случай, когда кортежи придутся как нельзя кстати. Используя их в данной задаче, мы дополнительно получаем сразу несколько бонусов – во-первых, это экономия места. Дело в том, что кортежи в памяти занимают меньший объем по сравнению со списками.

>>> lst = [10, 20, 30] >>> tpl = (10, 20, 30) >>> print(lst.__sizeof__()) 32 >>> print(tpl.__sizeof__()) 24 

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

Создание, удаление кортежей и работа с его элементами

Создание кортежей

Для создания пустого кортежа можно воспользоваться одной из следующих команд.

>>> a = () >>> print(type(a)) 'tuple'> >>> b = tuple() >>> print(type(b)) 'tuple'>

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

>>> a = (1, 2, 3, 4, 5) >>> print(type(a)) class 'tuple'> >>> print(a) (1, 2, 3, 4, 5)

При желании можно воспользоваться функцией tuple().

>>> a = tuple((1, 2, 3, 4)) >>> print(a) (1, 2, 3, 4)

Доступ к элементам кортежа

Доступ к элементам кортежа осуществляется также как к элементам списка – через указание индекса. Но, как уже было сказано – изменять элементы кортежа нельзя!

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

Удаление кортежей

Удалить отдельные элементы из кортежа невозможно.

>>> a = (1, 2, 3, 4, 5) >>> del a[0] Traceback (most recent call last): File "", line 1, in module> del a[0] TypeError: 'tuple' object doesn't support item deletion 

Но можно удалить кортеж целиком.

>>> del a >>> print(a) Traceback (most recent call last): File "", line 1, in module> print(a) NameError: name 'a' is not defined

Преобразование кортежа в список и обратно

На базе кортежа можно создать список, верно и обратное утверждение. Для превращения списка в кортеж достаточно передать его в качестве аргумента функции tuple().

>>> lst = [1, 2, 3, 4, 5] >>> print(type(lst)) 'list'> >>> print(lst) [1, 2, 3, 4, 5] >>> tpl = tuple(lst) >>> print(type(tpl)) 'tuple'> >>> print(tpl) (1, 2, 3, 4, 5)

Обратная операция также является корректной.

>>> tpl = (2, 4, 6, 8, 10) >>> print(type(tpl)) 'tuple'> >>> print(tpl) (2, 4, 6, 8, 10) >>> lst = list(tpl) >>> print(type(lst)) 'list'> >>> print(lst) [2, 4, 6, 8, 10]

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

Раздел: Python Уроки по Python Метки: Python, Уроки Python

Python. Урок 8. Кортежи (tuple) : 5 комментариев

  1. Владимир 15.01.2019 Сорян за глупый вопрос, но я только начинаю изучать Python.
    И так, есть два или более кортежей и нужно найти элементы, общие для этих кортежей, т е. взять пересечение множеств. Существует ли в питоне для этого оператор (функция, метод, …) или нужно самому “городить” такую функцию? Или может есть какая-нибудь подключаемая библиотека с такой функцией?
  1. writer 09.02.2019 Добрый день!
    Если вы хотите выполнять операции пересечения и т.п. лучше для этих целей использовать тип данных не кортеж (tuple), а множество (set)
  1. Андрей 24.10.2020 f(*opt)

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

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2024. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

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

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