Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #5403

Re: Converting a set into list

From Chris Torek <nospam@torek.net>
Newsgroups comp.lang.python
Subject Re: Converting a set into list
Date 2011-05-15 02:11 +0000
Organization None of the Above
Message-ID <iqncnv01u6u@news5.newsguy.com> (permalink)
References <iqlgj4$iet$1@speranza.aioe.org> <87iptdid68.fsf@benfinney.id.au> <iqm4tk$3sl$1@speranza.aioe.org> <871v00j2bh.fsf@benfinney.id.au>

Show all headers | View raw


In article <871v00j2bh.fsf@benfinney.id.au>
Ben Finney  <ben+python@benfinney.id.au> wrote:
>As pointed out: you already know how to create a set from an object;
>creating a list from an object is very similar:
>
>    list(set(aa))
>
>But why are you doing that? What are you trying to achieve?

I have no idea why someone *else* is doing that, but I have used
this very expression to unique-ize a list:

    >>> x = [3, 1, 4, 1, 5, 9, 2, 6]
    >>> x
    [3, 1, 4, 1, 5, 9, 2, 6]
    >>> list(set(x))
    [1, 2, 3, 4, 5, 6, 9]
    >>>

Of course, this trick only works if all the list elements are
hashable.

This might not be the best example since the result is sorted
"by accident", while other list(set(...)) results are not.  Add
sorted() or .sort() if needed:

    >>> x = ['three', 'one', 'four', 'one', 'five']
    >>> x
    ['three', 'one', 'four', 'one', 'five']
    >>> list(set(x))
    ['four', 'five', 'three', 'one']
    >>> sorted(list(set(x)))
    ['five', 'four', 'one', 'three']
    >>> 
-- 
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W)  +1 801 277 2603
email: gmail (figure it out)      http://web.torek.net/torek/index.html

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-14 17:02 +0800
  Re: Converting a set into list Peter Otten <__peter__@web.de> - 2011-05-14 11:33 +0200
    Re: Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-14 22:14 +0800
      Re: Converting a set into list Chris Angelico <rosuav@gmail.com> - 2011-05-15 04:22 +1000
  Re: Converting a set into list Ben Finney <ben+python@benfinney.id.au> - 2011-05-15 00:12 +1000
    Re: Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-14 22:51 +0800
      Re: Converting a set into list Ben Finney <ben+python@benfinney.id.au> - 2011-05-15 09:21 +1000
        Re: Converting a set into list Chris Torek <nospam@torek.net> - 2011-05-15 02:11 +0000
          Re: Converting a set into list SigmundV <sigmundv@gmail.com> - 2011-05-15 04:18 -0700
            Re: Converting a set into list SigmundV <sigmundv@gmail.com> - 2011-05-15 04:23 -0700
            Re: Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-15 23:56 +0800
              Re: Converting a set into list Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2011-05-15 22:27 +0200
                Re: Converting a set into list Daniel Kluev <dan.kluev@gmail.com> - 2011-05-16 13:37 +1100
                Re: Converting a set into list Peter Otten <__peter__@web.de> - 2011-05-16 08:34 +0200
                Re: Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-16 22:23 +0800
                Re: Converting a set into list Ben Finney <ben+python@benfinney.id.au> - 2011-05-17 10:33 +1000
            Re: Converting a set into list Roy Smith <roy@panix.com> - 2011-05-15 13:07 -0400
          Re: Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-16 00:05 +0800
            Re: Converting a set into list Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-05-15 16:28 +0000
              Re: Converting a set into list TheSaint <nobody@nowhere.net.no> - 2011-05-16 00:35 +0800
          Re: Converting a set into list Duncan Booth <duncan.booth@invalid.invalid> - 2011-05-16 10:24 +0000
            Re: Converting a set into list Chris Torek <nospam@torek.net> - 2011-05-17 01:07 +0000

csiph-web