In [2]:
from scipy.optimize import curve_fit
import pandas as pd
import numpy as np
from uncertainties import ufloat
from bokeh.plotting import figure, show, output_file, save
import matplotlib.pyplot as plt
In [30]:
data=[
    [1,1],
    [2,4],
    [3,9],
    [4,16],
    [6,36],
    [7,49]
]

Using cycle

In [31]:
Xvals=[]
for d in data:
    Xvals+=[d[0]]
print(Xvals)
[1, 2, 3, 4, 6, 7]
In [49]:
Xvals=[]
for d in data:
    Xvals.append(d[0])
    print(Xvals)
[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 6]
[1, 2, 3, 4, 6, 7]
In [50]:
[1,2,3]+[4,5,6]
Out[50]:
[1, 2, 3, 4, 5, 6]
In [52]:
[1,2,3]+[22]
Out[52]:
[1, 2, 3, 22]
In [32]:
Yvals=[]
for d in data:
    Yvals+=[d[1]]
print(Yvals)
[1, 4, 9, 16, 36, 49]
In [47]:
Xvals=[]
Yvals=[]
for d in data:
    _x,_y = d
    Xvals+=[_x]
    Yvals+=[_y]

    print(_x,_y)
1 1
2 4
3 9
4 16
6 36
7 49
In [48]:
plt.plot(Xvals,Yvals)
Out[48]:
[<matplotlib.lines.Line2D at 0x10b79edd8>]

Using list comprehension

In [55]:
xvals=[d[0] for d in data if d[1]>0]
print(xvals)
[1, 2, 3, 4, 6, 7]
In [35]:
yvals=[d[1] for d in data]
print(xvals)
[1, 2, 3, 4, 6, 7]
In [36]:
plt.plot(xvals,yvals)
Out[36]:
[<matplotlib.lines.Line2D at 0x10b603358>]

Using array and slicing

Slicing

In [15]:
nplist=np.array([1,2,3,4,5,6,7,8])
In [16]:
nplist[:2]
Out[16]:
array([1, 2])
In [38]:
nplist[2:]
Out[38]:
array([3, 4, 5, 6, 7, 8])
In [56]:
sublist=nplist[2:-3]
In [57]:
sublist
Out[57]:
array([3, 4, 5])
In [40]:
np_data=np.array(data)
In [41]:
np_data[:,[0,1]]
Out[41]:
array([[ 1,  1],
       [ 2,  4],
       [ 3,  9],
       [ 4, 16],
       [ 6, 36],
       [ 7, 49]])
In [42]:
_d=np.transpose(np_data)
plt.plot(_d[0],_d[1])
Out[42]:
[<matplotlib.lines.Line2D at 0x10b65bda0>]