Get a list from a set in python

后端 未结 3 649
灰色年华
灰色年华 2020-12-28 11:29

Ho do I get the contents of a set() in list[] form in Python?

I need to do this because I need to save the collection in Google App Engine

相关标签:
3条回答
  • 2020-12-28 12:08

    See Sven's answer, but I would use the sorted() function instead: that way you get the elements in a nice predictable order (so you can compare the lists afterwards, for example).

    >>> s = set([1, 2, 3, 4, 5])
    >>> sorted(s)
    [1, 2, 3, 4, 5]
    

    Of course, the set elements have to be sortable for this to work. You can't sort complex numbers (see gnibbler's comment). In Python 3, you also can't sort any set with mixed data types, e.g. set([1, 2, 'string']).

    You can use sorted(s, key=str), but it may not be worth the trouble in these cases.

    0 讨论(0)
  • 2020-12-28 12:08
    >>> a = [1, 2, 3, 4, 2, 3]
    >>> b = set(a)
    >>> b
    set([1, 2, 3, 4])
    >>> c = list(b)
    >>> c
    [1, 2, 3, 4]
    >>> 
    
    0 讨论(0)
  • 2020-12-28 12:29
    >>> s = set([1, 2, 3])
    >>> list(s)
    [1, 2, 3]
    

    Note that the list you get doesn't have a defined order.

    0 讨论(0)
提交回复
热议问题