In [1]:
from __future__ import print_function
In [2]:
filename = '20150410-dojo-prices.txt'
Show what is in the file.
In [3]:
print(open(filename).read())
Show how split method splits each line into a list.
In [4]:
for line in open(filename):
print(line.split())
Straightforward loop
In [5]:
max_price = 0.0
for line in open(filename):
price = float(line.split()[1])
max_price = max(max_price, price)
print(max_price)
Using a generator expression
In [6]:
max((float(line.split()[1]) for line in open(filename)))
Out[6]:
Functional approach
In [7]:
max(map(lambda line: float(line.split()[1]), open(filename)))
Out[7]:
In [8]:
max(map(float, map(lambda line: line.split()[1], open(filename))))
Out[8]:
In [9]:
max(map(float, map(lambda x: x[1] ,map(lambda line: line.split(), open(filename)))))
Out[9]:
min, max, sum, any, and all are some built-in reduce style functions.