Как только вы создали кортеж, значение какого‑либо его элемента уже нельзя изменить, как нельзя добавлять и удалять элементы. Кортежи объявляются с помощью круглых скобок. Элементы в кортеже должны быть разделены запятыми. 7 как и в print a, , вам нужно использовать форму скобок, потому что конечная запятая print a, иначе будет считаться частью инструкции print и, таким образом, заставит новую строку подавляться из вывода, а не создаваемый кортеж. В этом примере значение opel вставляется в начало списка, а все остальные значения при этом сдвигаются на одну позицию индекса.
7 ответов:
Вы можете просто сделать (a,) . Нет необходимости использовать функцию. (Обратите внимание, что запятая необходима.)
По существу, tuple(a) означает сделать кортеж изсодержимого a , а не кортеж, состоящий только из самого a . «Содержимое» строки (то, что вы получаете, когда перебираете ее) — это ее символы, поэтому она разбивается на символы.
Взгляните на учебник Python по кортежам :
Особой проблемой является построение кортежей, содержащих 0 или 1 элементов: синтаксис имеет некоторые дополнительные причуды для их размещения. Пустые кортежи строятся по пустой паре скобок; кортеж с одним элементом строится по значению через запятую (недостаточно заключить одно значение в скобки). Некрасиво, но эффективно. Например:
Если вы положите только пару скобки вокруг вашего объекта string, они только превратят это выражение в заключенное в скобки выражение (курсив добавлен):
Добавить некоторые примечания к инструкции печати. Когда вы пытаетесь создать одноэлементный кортеж как часть инструкции print в Python 2.7 (как и в print (a,) ), вам нужно использовать форму скобок, потому что конечная запятая print a, иначе будет считаться частью инструкции print и, таким образом, заставит новую строку подавляться из вывода, а не создаваемый кортеж:
Символ ‘\n ‘ пишется в конце, если только печать оператор заканчивается запятой.
В Python 3.x большинство из приведенных выше использований в примерах фактически вызовет SyntaxError , потому что в Python 3 print превращается в функцию (нужно добавить дополнительную пару скобок). Но особенно это может вызвать путаницу:
На всякий случай, если кто-то придет сюда, пытаясь узнать, как создать кортеж, присваивающий каждую часть строки «Quattro» и «TT» элементу списка, это будет выглядеть следующим образом print tuple(a.split())
Я использую эту функцию для преобразования строки в кортеж
Использование
Подклассный кортеж, где некоторые из этих экземпляров подкласса могут быть экземплярами одной строки, выдает нечто интересное.
NB как я узнал из этой темы, вы должны поставить запятую после args[ 0 ] .
Строка печати показывает, что одна строка не разделяется.
NB запятая в конструкторе подкласса теперь становится необязательной :
Или
Это касается только простого случая:
Если вы используете только разделитель типа‘,’, то это может сработать.
Я использовал строку из configparser примерно так:
В этом случае вышеприведенное решение не работает. Однако это действительно работает:
Примечание: Кортеж, который создается без использования круглых скобок, также известен как упаковка кортежа.

Python — Кортежи (Tuple)
Кортеж может иметь любое количество элементов, и они могут быть разных типов (целые числа, числа с плавающей запятой, список, строка и т. д.). Например, в следующем списке хранится имя студента строка , фамилия строка , его средняя оценка float , год окончания заведения int. Строки, списки и кортежи поддерживают итерирование программа может их перебирать, значение за значением , то есть к каждому их элементу можно получить доступ через цикл такие объекты называются итерируемыми.
Кортежи
Кортежи — это контейнеры, хранящие объекты в определенном порядке. В отличие от списков, кортежи неизменяемы.
Как только вы создали кортеж, значение какого‑либо его элемента уже нельзя изменить, как нельзя добавлять и удалять элементы. Кортежи объявляются с помощью круглых скобок. Элементы в кортеже должны быть разделены запятыми.
Для создания кортежей также используют один из двух вариантов синтаксиса. Первый:
Чтобы добавить в кортеж новые объекты, создайте его вторым способом, указав через запятую каждый желаемый элемент.
Даже если кортеж содержит только один элемент, после этого элемента все равно нужно поставить запятую. Таким образом Python отличает кортеж от числа в скобках, определяющих порядок выполнения операций.
Получить элементы кортежа можно так же, как и элементы списка, указывая индекс элемента.


Кортежи(tuple) в Python — основы для начинающих: создание, доступ к элементам, изменение и удаление
Ключевое слово in / not in
Проверить, содержится ли элемент в кортеже, можно с помощью ключевого слова in.
Поместите перед in ключевое слово not для проверки отсутствия элемента в кортеже.
Те же операции с ключевыми словами in и not in сработают и со списками.
Сложение кортежей и списков
При помощи оператора сложения можно соединять друг с другом две одинаковые структуры данных. Пример ниже со списками также будет работать и с кортежами:
Итерирование
Строки, списки и кортежи поддерживают итерирование (программа может их перебирать, значение за значением), то есть к каждому их элементу можно получить доступ через цикл — такие объекты называются итерируемыми. Каждый элемент в итерируемом объекте, как мы уже знаем, имеет свой порядковый индекс.
В следующем примере элемент Москва записан в списке с индексом 0, Хельсинки с индексом 1, а ‘Анкара’ с индексом 2.
Вот мы и познакомились с оператором for — циклом, перебирающим итерируемый объект. Цикл for можно использовать, чтобы определять инструкции, которые будут выполняться один раз для каждого элемента в итерируемом объекте, и с помощью таких инструкций вы можете получать доступ ко всем этим элементам и осуществлять операции с ними.
Например, с помощью цикла for, выполняющего перебор списка строк, и метода upper() можно сделать символы каждой строки прописными:
Как показано в примерах выше, цикл for определяется синтаксисом: for имя_переменной in имя_итерируемого_объекта: где *имя_переменной – выбранное вами имя переменной, в которую каждую итерацию цикла будет записываться очередное значение из итерируемого объекта.