> Is there a fast way to get ... list of lists ... ?

proc lpartition {recsize data} {
  set ret {}
  set datalen [llength $data]
  for {set i 0; set j [expr {$recsize-1}]} \
      {$i < $datalen} {incr i $recsize; incr j $recsize} {
    lappend ret [lrange $data $i $j]
  }
  set ret
}

or for a fixed record size:

proc lpartition3 data {                 
  set ret {}                            
  foreach {col1 col2 col3} $data {      
    lappend ret [list $col1 $col2 $col3]
  }                                     
  set ret                               
}

The second version should be somewhat faster, but of course,
it's not very flexible.

Regards

Reply via email to