You need to separate the x values from the y values. This can be done by zip:
First:
import numpy as np
import matplotlib.pypl as plt
Now:
In [263]: lst = [[1,100.1],[2,133.222],[3,198.0]]
In [264]: xs, ys = [*zip(*lst)]
In [265]: xs
Out[265]: (1, 2, 3)
In [266]: ys
Out[266]: (100.1, 133.222, 198.0)
Now draw the bars:
In [267]: plt.bar(xs, ys)
Bar graphs do not set the bars widths automatically. In the current case the width turned out to be fine, but a more systematic way would be to take the differences between the x values, like this:
In [269]: np.diff(xs)
Out[269]: array([1, 1])
Usually you have an equally spaced x values, but this need not be the case. You might want to set the width to the minimum difference between the x values, so the bar graph might be generated like this:
In [268]: plt.bar(xs, ys, width=0.9 * np.min(np.diff(xs)))