Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
lfa:lab01-python-intro [2021/09/14 10:03] pdmatei |
lfa:lab01-python-intro [2021/10/07 11:32] (current) ioana.georgescu [List comprehensions] |
||
|---|---|---|---|
| Line 45: | Line 45: | ||
| l[:x] | l[:x] | ||
| # the last element of a list: | # the last element of a list: | ||
| - | l[:-1] | + | l[-1] |
| # the last three elements of a list: | # the last three elements of a list: | ||
| - | l[:-3] | + | l[-3:] |
| # the slice from n-3 to n-1, where n is the number of elements from the list | # the slice from n-3 to n-1, where n is the number of elements from the list | ||
| l[-3:-1] | l[-3:-1] | ||
| Line 197: | Line 197: | ||
| | | ||
| # computing the average ages (a map could have also been used) | # computing the average ages (a map could have also been used) | ||
| - | avg = reduce(lambda a,b:a+b, [age(x) for x in l]) / len(l) | + | avg = reduce(lambda a,b:a+b, [age(x[-1]) for x in l]) / len(l) |
| | | ||
| # we return the last name and the age of the filtered list l | # we return the last name and the age of the filtered list l | ||
| Line 289: | Line 289: | ||
| Example: | Example: | ||
| <code> | <code> | ||
| - | 4 | + | 5 |
| 0 X 1 | 0 X 1 | ||
| 1 O 2 | 1 O 2 | ||
| Line 302: | Line 302: | ||
| * (Hint1: google //Python read lines// to see how to read from a file; also, google ''split'' in Python) | * (Hint1: google //Python read lines// to see how to read from a file; also, google ''split'' in Python) | ||
| * (Hint2: you will need a dictionary to store, for each node and label l, the list of its l-successors) | * (Hint2: you will need a dictionary to store, for each node and label l, the list of its l-successors) | ||
| + | |||
| + | |||
| + | ===== Haskell practice ===== | ||
| + | |||
| + | Solve the same exercise, only build your own input as a string, instead of a file. | ||