How to convert a set to a list in python?
I am trying to convert a set to a list in Python 2.6. I'm using this syntax:
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
However, I get the following stack trace:
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'set' object is not callable
How can I fix this?
Solution 1:
It is already a list:
>>> type(my_set)
<class 'list'>
Do you want something like:
>>> my_set = set([1, 2, 3, 4])
>>> my_list = list(my_set)
>>> print(my_list)
[1, 2, 3, 4]
EDIT: Output of your last comment:
>>> my_list = [1,2,3,4]
>>> my_set = set(my_list)
>>> my_new_list = list(my_set)
>>> print(my_new_list)
[1, 2, 3, 4]
I'm wondering if you did something like this:
>>> set = set()
>>> set([1, 2])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable
Solution 2:
Instead of:
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
Why not shortcut the process:
my_list = list(set([1,2,3,4])
This will remove the dupes from you list and return a list back to you.
Solution 3:
[EDITED] It's seems you earlier have redefined "list", using it as a variable name, like this:
list = set([1,2,3,4]) # oops
#...
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
And you'l get
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'set' object is not callable