Question: In python IDLE, I want to create 3 lists from 3 columns in the text file which contains the following data set:

```
1.23 2.01 3.15
52.02 958.02 52.02
15.23 59.45 65.78
75.01 25.26 55.26
65.10 98.23 58.45

```

I want the output like this:

```
a = [1.23, 52.02, 15.23, 75.01, 65.10]
b = [2.01, 958.02, 59.45, 25.26, 98.23]
c = [3.15, 52.02, 65.78, 55.26, 58.45]

```

Answer: 
Assuming the following input:

```
s = '1.23 2.01 3.15 52.02 958.02 52.02 15.23 59.45 65.78 75.01 25.26 55.26 65.10 98.23 58.45'

```

You can use `itertools.zip_longest` in combination with `zip` and `iter`:

```
from itertools import zip_longest
a,b,c = zip(*zip_longest(*[iter(map(float, s.split()))]*3))

```

If your input is a multiple of 3, you can use only `zip`:

```
a,b,c = zip(*zip(*[iter(map(float, s.split()))]*3))

```

output:

```
>>> a,b,c
((1.23, 52.02, 15.23, 75.01, 65.1),
 (2.01, 958.02, 59.45, 25.26, 98.23),
 (3.15, 52.02, 65.78, 55.26, 58.45))

```

*NB. there is actually a recipe for this in [`itertools`](https://docs.python.org/3/library/itertools.html#itertools-recipes) documentation (search "grouper")*

#### How it works:

It creates something like `zip([<iterator>, <iterator>, <iterator>]])`, where iterator is a reference to the same iterator. So each time zip collects a value, it actually takes the next one in the iterator. If the iterator was a list the output shape would be 3 times the input, but as the iterator gets consumed, the final number of elements is conserved (modulo the multiplier).
First, you need to open the file:

```
file = open("file name")

```

then make lists for each line using and split each one by the white space:

```
line1 = file[0].split()
line2 = file[1].split()
line3 = file[2].split()
line4 = file[3].split()
line5 = file[4].split()
lines = [line1, line2, line3, line4, line5]

```

and make your list using the first element in each line:

```
a = []
for i in lines:
    a.append(i[0])

b = []
for i in lines:
    a.append(i[1])

c = []
for i in lines:
    a.append(i[2])

```

and done!