def table_concat(tables):
 attributes = []
 class_vars = []
 metas = []
 variables_seen = set()
 for table in tables:
  attributes.extend((v for v in table.domain.attributes if (v not in variables_seen)))
  variables_seen.update(table.domain.attributes)
  class_vars.extend((v for v in table.domain.class_vars if (v not in variables_seen)))
  variables_seen.update(table.domain.class_vars)
  metas.extend((v for v in table.domain.metas if (v not in variables_seen)))
  variables_seen.update(table.domain.metas)
 domain = Orange.data.Domain(attributes, class_vars, metas)
 new_table = Orange.data.Table(domain)
 for table in tables:
  new_table.extend(Orange.data.Table.from_table(domain, table))
  new_table.attributes.update(table.attributes)
 return new_table

def table_concat ( tables ) : attributes = [ ] class_vars = [ ] metas = [ ] variables_seen = set ( ) for table in tables : attributes . extend ( ( v for v in table . domain . attributes if ( v not in variables_seen ) ) ) variables_seen . update ( table . domain . attributes ) class_vars . extend ( ( v for v in table . domain . class_vars if ( v not in variables_seen ) ) ) variables_seen . update ( table . domain . class_vars ) metas . extend ( ( v for v in table . domain . metas if ( v not in variables_seen ) ) ) variables_seen . update ( table . domain . metas ) domain = Orange . data . Domain ( attributes , class_vars , metas ) new_table = Orange . data . Table ( domain ) for table in tables : new_table . extend ( Orange . data . Table . from_table ( domain , table ) ) new_table . attributes . update ( table . attributes ) return new_table
concatenate a list of tables .