On Sat, May 15, 2010 at 11:53 AM, Carl Banks <pavlovevide...@gmail.com>wrote:
> On May 14, 9:39 am, Terry Reedy <tjre...@udel.edu> wrote: > > On 5/14/2010 11:24 AM, gerardob wrote: > > > > > > > > > Hello, let S be a python set which is not empty > > > (http://docs.python.org/library/sets.html) > > > > > i would like to obtain one element (anyone, it doesn't matter which > one) and > > > assign it to a variable. > > > > > How can i do this? > > > > Depends on whether or not you want the element removed from the set > > > > #3.1 > > >>> s=set(range(10)) > > >>> s > > {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} > > >>> x=next(iter(s)) > > >>> x > > 0 > > >>> s > > {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} # x not removed > > >>> x = s.pop() > > >>> x > > 0 > > >>> s > > {1, 2, 3, 4, 5, 6, 7, 8, 9} # x has been removed > > > > The choice of 0 is an implementation artifact. It could have been any > > member. > > Which brings up an interesting question: how do you get a random > element from a set? > > random.choice(list(s)) > > is the most straightforward way and will work a lot of the time, but > how would you avoid creating the list? I can't think of a way off > hand. > > How about random.sample(s, 1)[0]? Is it inefficient? > > Carl Banks > > -- > http://mail.python.org/mailman/listinfo/python-list > -- Regards Shashank Singh Senior Undergraduate, Department of Computer Science and Engineering Indian Institute of Technology Bombay shashank.sunny.si...@gmail.com http://www.cse.iitb.ac.in/~shashanksingh
-- http://mail.python.org/mailman/listinfo/python-list