Я пытаюсь преобразовать набор в список в Python 2.6. Я использую этот синтаксис:
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
Тем не менее, я получаю следующую трассировку стека:
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'set' object is not callable
Как я могу это исправить?
python
list
set
python-2.6
Гаф
источник
источник
TypeError: 'set' object is not callable
: что этоset
? Спасибоset=set(first_list)
или что-то. Теперьset
переопределяется для этого набора объектов, который будет вызывать эту ошибку. Попробуйте снова с новым интерпретатором PythonОтветы:
Это уже список
Вы хотите что-то вроде
РЕДАКТИРОВАТЬ: вывод вашего последнего комментария
Мне интересно, если вы сделали что-то вроде этого:
источник
([1,2,12,6])
и вы делаете,list(([1,2,12,6]))
вы получите список, как[1,2,1,2,6]
Вместо того:
Почему бы не ускорить процесс:
Это удалит дубликаты из вашего списка и вернет вам список.
источник
[EDITED] Кажется, вы ранее переопределили «список», используя его в качестве имени переменной, например:
И вы получите
источник
Всякий раз, когда вы сталкиваетесь с такими проблемами, попробуйте сначала найти тип данных элемента, который вы хотите преобразовать, используя:
Затем используйте:
преобразовать его в список. Вы можете использовать недавно созданный список, как и любой обычный список в Python.
источник
Просто введите:
Это превратит набор в форме {'1', '2'} в список в форме ['1', '2'].
источник
Просмотрите свою первую строку. Ваша трассировка стека явно не из кода, который вы вставили здесь, поэтому я не знаю точно, что вы сделали.
То, что вы хотели, было
set([1, 2, 3, 4])
.Исключение «не вызывается» означает, что вы делали что-то вроде
set()()
- пытались вызватьset
экземпляр.источник
Я не уверен, что вы создаете набор с этим
([1, 2])
синтаксисом, а скорее список. Чтобы создать набор, вы должны использоватьset([1, 2])
.Эти скобки просто охватывают ваше выражение, как если бы вы написали:
Там на самом деле не игнорируют, но ничего не делают для вашего выражения.
Примечание:
(something, something_else)
создаст кортеж (но пока нет списка).источник
set
?Python - это динамически типизированный язык, что означает, что вы не можете определить тип переменной, как вы делаете это в C или C ++:
или
В Python вы используете принуждение, если вы изменяете типы, или функции инициализации (конструкторы) типов для объявления переменной типа:
даст вам
<type 'set'>
ответ.Если у вас есть список, сделайте это:
источник
Хммм, держу пари, что в некоторых предыдущих строках у вас было что-то вроде:
Я ошибся ?
источник
list
равным созданию множестваset(values)
. И это создавало путаницу. Ваш ответ не должен быть опущен. Но также это не привлекает внимание читателей :) Мы просто смотрим и видим неправильные вещи.