Как преобразовать список в кортеж python



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
Преобразовать список кортежей в список списков [закрыт]
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.
Вопросы с просьбами помочь с отладкой («почему этот код не работает?») должны включать желаемое поведение, конкретную проблему или ошибку и минимальный код для её воспроизведения прямо в вопросе. Вопросы без явного описания проблемы бесполезны для остальных посетителей. См. Как создать минимальный, самодостаточный и воспроизводимый пример.
Закрыт 2 года назад .

сверху мой вывод. снизу правильный, каким образом я могу изменить список в массив?
Преобразование строк в список, кортеж или множество символов
Для преобразования строки в список символов необходимо исходную строку передать в класс list() . Это полезно для каких то преобразований в цикле с отдельными символами в строке (удаление/добавление/изменение) или если нужно отобразить строку наоборот (развернуть строку).
Пример преобразования строки в список символов и совершение различных манипуляции.
>>> line = 'абракадабра' >>> line_list = list(line) >>> line_list # ['а', 'б', 'р', 'а', 'к', 'а', 'д', 'а', 'б', 'р', 'а'] # изменим 4 символ на 'у', добавим в конец 'с' и удалим 1 символ >>> line_list[3] = 'y' >>> line_list.append('c') >>> line_list.pop(0) >>> line_list # ['б', 'р', 'y', 'к', 'а', 'д', 'а', 'б', 'р', 'а', 'c'] # развернем строку >>> rev = list(reversed(line_list)) >>> rev # ['c', 'а', 'р', 'б', 'а', 'д', 'а', 'к', 'y', 'р', 'б'] # теперь снова получим строку >>> line = ''.join(rev) >>> line # 'cарбадакyрб'
Преобразование строки в кортеж производится аналогичным способом, только строка передается в класс tuple() . Кортеж это неизменяемый тип данных, следовательно дальнейшие изменения кортежа недоступны.
# преобразование строки в кортеж символов >>> line = 'абракадабра' >>> line_tuple = tuple(line) >>> line_tuple # ('а', 'б', 'р', 'а', 'к', 'а', 'д', 'а', 'б', 'р', 'а') # теперь снова получим строку >>> line = ''.join(line_tuple) # 'абракадабра'
Преобразование строки в множество полезно, когда необходимо получить уникальные символы в строке (без повторов). Обратите внимание на то, что после преобразования строки в множество порядок следования символов не сохраняется!
# преобразование строки в множество символов >>> line = 'абракадабра' >>> line_set = set(line) >>> line_set #
Преобразование символов строки в код ASCII и обратно.
В Python есть возможность выполнить преобразование одиночного символа в его целочисленный код ASCII, для чего нужно передать этот символ функции ord() , она возвращает фактическое числовое значение соответствующего байта в памяти. Обратное преобразование выполняется с помощью функции chr() , она получает целочисленный код ASCII и преобразует его в соответствующий символ:
>>> ord('s') # 115 >>> chr(115) # 's'
Эти функции можно применить ко всем символам строки в цикле. Например, чтобы получить следующий по алфавиту символ, его можно преобразовать в число и выполнить математическое действие над ним:
>>> x = 'А' >>> y = ord(x) + 1 >>> chr(y) # 'Б'
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Преобразование строки в число
- Строку в список, кортеж или множество символов
- Одинарные, двойные и тройные кавычки в строке Python
- Вывод специальных символов в строке Python «как есть»
- Объединение и повторение строк
- Индексирование строк
- Использование срезов строк
- Cрез строки Python от заданного символа/знака до конца строки
- Создание макета для печати базовыми методами строк
- Способы форматирования текстовых строк
- Подсчет повторений слов в тексте, деление строки на список слов
- Удаление слова из строки Python по фрагменту или шаблону
- Удаление пунктуации из строки
- Деление строки по заглавным буквам
- Создание отчетов и писем по шаблонам
Python. Урок 8. Кортежи (tuple)
![]()
Данный урок посвящен кортежам (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 комментариев
- Владимир 15.01.2019 Сорян за глупый вопрос, но я только начинаю изучать Python.
И так, есть два или более кортежей и нужно найти элементы, общие для этих кортежей, т е. взять пересечение множеств. Существует ли в питоне для этого оператор (функция, метод, …) или нужно самому “городить” такую функцию? Или может есть какая-нибудь подключаемая библиотека с такой функцией?
- writer 09.02.2019 Добрый день!
Если вы хотите выполнять операции пересечения и т.п. лучше для этих целей использовать тип данных не кортеж (tuple), а множество (set)
- Андрей 24.10.2020 f(*opt)