how to generate subsets from a list?

Please support our Python advertiser: Programming Forums - DaniWeb Sister Site
Reply

Join Date: May 2006
Posts: 23
Reputation: girish_sahani is an unknown quantity at this point 
Solved Threads: 0
girish_sahani girish_sahani is offline Offline
Newbie Poster

how to generate subsets from a list?

 
0
  #1
May 25th, 2006
If i have a list (or list of lists) with elements of size k and i want to generate all higher level elements (of size k + 1) from it,what should i do??Any pointers would be of a great help
I tried the following for lists...for list of lists i do not know what to do (
  1. #pruned_k is a list or list of lists
  2. for element in pruned_k:
  3. if len(element)=1: #generate all 2 size sets
  4. for i in range(0,len(pruned_k)-1,2)
  5. pruned_new.append(pruned_k[i:i+2])
  6. else: #if pruned_k is list of lists e.g [['a','b'],['b','c']]
  7. pruned_new.append(

Thanks a lot,
girish
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 1,221
Reputation: bumsfeld will become famous soon enough bumsfeld will become famous soon enough 
Solved Threads: 138
bumsfeld's Avatar
bumsfeld bumsfeld is offline Offline
Nearly a Posting Virtuoso

Re: how to generate subsets from a list?

 
0
  #2
May 25th, 2006
You need to give more details of what you want to accomplish.

At first look, there are quite a few errors in your code. Your indentations are a mess (they are not cosmetic, they actually form statement blocks in Python!), if needs == as comparison operator, for needs colon at the end of line, and pruned_new has to be initiated as empty list.
Reply With Quote Quick reply to this message  
Join Date: May 2006
Posts: 23
Reputation: girish_sahani is an unknown quantity at this point 
Solved Threads: 0
girish_sahani girish_sahani is offline Offline
Newbie Poster

Re: how to generate subsets from a list?

 
0
  #3
May 26th, 2006
sorry for the unindented code
what i want to do is generate 2 size sets from a list of single elements,generate 3 size sets from a list of double elements(each element is a list of 2) and so on...
e.g [['a','b'],['a','c']] should give [['a','b','c']]
for list of single elements i can easily generate sets of 2 elements bu iterating over the list...but for lists of lists i am not able to do that...
one thing i thought of is to 'flatten' the list of lists (convert it into a list) after getting the length of its elements (suppose k) ,remove duplicates,and then generate the k+1 size sets from the flattened list.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:




Views: 3876 | Replies: 2
Thread Tools Search this Thread



Tag cloud for Python
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC