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

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

  • автор:

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

В этом посте мы обсудим, как преобразовать список в кортеж в Python.

1. Использование конструктора кортежей

Конструктор кортежей tuple() может взять итерируемый объект и создать кортеж из элементов итерируемого объекта в том же порядке. Итерируемый объект может быть либо:

  • последовательность (например, список, строка, кортеж или диапазон) или
  • коллекция (например, словарь или набор)

Например, tuple([10, 20, 30]) возвращается (10, 20, 30) . Следующий пример демонстрирует.

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

Из-за различий между списком и кортежом вам может потребоваться преобразовать список Python в кортеж в вашем приложении.

В этом руководстве мы узнаем, как преобразовать список в кортеж. Есть много способов сделать это. И мы обсудим следующие методы с примерами для каждого.

  • Используйте функцию Tupple () встроенной функции.
  • Распаковать список внутри скобок.

Использовать функцию Tupple () встроенной функции

Tupple – это встроенный класс Python, который может принимать любые намеки в качестве аргумента для своего конструктора и возвращать объект кортежа.

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

Вы можете наблюдать на выходе, что мы напечатали тип объекта TUPLE1, который является Отказ

Распаковать список внутри скобок

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

В следующей программе у нас есть список, и мы распадаем элементы этого списка внутри скобки.

Резюме

В этом руководстве примеров Python мы узнали, как преобразовать список Python в кортеж по-разному, с помощью хорошо подробных примеров программ.

Convert list to tuple in Python [duplicate]

However, the code results in an error message when I run it:

TypeError: ‘tuple’ object is not callable

How can I fix this problem?

8 Answers 8

It should work fine. Don’t use tuple , list or other special names as a variable name. It’s probably what’s causing your problem.

Expanding on eumiro’s comment, normally tuple(l) will convert a list l into a tuple:

However, if you’ve redefined tuple to be a tuple rather than the type tuple :

then you get a TypeError since the tuple itself is not callable:

You can recover the original definition for tuple by quitting and restarting your interpreter, or (thanks to @glglgl):

To add another alternative to tuple(l) , as of Python >= 3.5 you can do:

short, a bit faster but probably suffers from readability.

This essentially unpacks the list l inside a tuple literal which is created due to the presence of the single comma , .

P.s: The error you are receiving is due to masking of the name tuple i.e you assigned to the name tuple somewhere e.g tuple = (1, 2, 3) .

Using del tuple you should be good to go.

Dimitris Fasarakis Hilliard's user avatar

You might have done something like this:

Here’s the problem. Since you have used a tuple variable to hold a tuple (45, 34) earlier. So, now tuple is an object of type tuple now.

It is no more a type and hence, it is no more Callable .

Never use any built-in types as your variable name. You do have any other name to use. Use any arbitrary name for your variable instead.

Peter Mortensen's user avatar

I find many answers up to date and properly answered but will add something new to stack of answers.

In python there are infinite ways to do this, here are some instances
Normal way

smart way

Remember tuple is immutable ,used for storing something valuable. For example password,key or hashes are stored in tuples or dictionaries. If knife is needed why to use sword to cut apples. Use it wisely, it will also make your program efficient.

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

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