Question: In Postgres, I have a table with many columns (e.g. t1(a, b, c, ..., z)). I need to obtain its subset through a select-from-where statement into a new table (e.g. t2), but this new table must have a `serial` attribute. So, t2 would like t2(id, a, b, c, ..., z), where id the `serial` attribute. In Postgres, this works:

```
INSERT INTO t2(a, b, c, d, ..., z)
SELECT * 
FROM t1 
WHERE <condition>

```

However, is it possible to achieve the same without writing all the attributes of t1?

Answer: 
As suggested by people in the comment section, **your best bet for this type of task is using list comprehension** like so,

```
['file_Path ' + i for i in List]

```

Now, I wanted to add an answer because I wanted to add that `List` is definitely not a good choice of naming for you `list` object. 

**I would go with something more meaningful and further from the `list` keyword** 

(eg. `sheet_names`)

```
sheet_names = ['test1', 'test2', 'test3']
sheet_names = ['file_Path ' + i for i in sheet_names]
print(sheet_names)
>>>>['file_Path test1', 'file_Path test2', 'file_Path test3']

```
Just use list comprehension:

```
List = ['test1', 'test2', 'test3']
file_paths = ['file_path: %s' % (fp,) for fp in List]

```