<div>At 10:12 AM 9/15/2005, Christopher Arndt wrote:<br>
<blockquote class="CITE" cite="" type="cite">Hi,<br><br>I wonder if there is a 
shorter form of the following idiom:<br><br>list1 = []<br>list2 = []<br>for item 
in original_list:<br>&nbsp;&nbsp;&nbsp; if condition(item):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
list1.append(item)<br>&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
list2.append(item)</blockquote><br>Consider (5 lines instead of 7):<br><br>lists 
= [[], []]<br>for item in original_list:&nbsp; <br>&nbsp;&nbsp;&nbsp; 
lists[condition(item)].append(item)<br>list1 = lists[0]<br>list2 = 
lists[1]<br><br>This assumes condition() returns 0 or 1 (True)<br><br>or if you 
don't mind the result in sets (assumes unique elements):<br><br>set1 = set([x 
for x in original_list if cond(x)])<br>set2 = original_list - set1 </div>
<br>

I can't send mail my usual way due to unknown problems. So am using gmail. Please relpy as always to <a href="mailto:bgailer@alum.rpi.edu">bgailer@alum.rpi.edu</a>