Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lfa:lab01-python-intro [2021/09/14 10:00]
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 300: Line 300:
   * Suppose we encode streets as labelled graphs, where each label '​X'​ or '​O'​ denotes if a street is closed or open.    * Suppose we encode streets as labelled graphs, where each label '​X'​ or '​O'​ denotes if a street is closed or open. 
   * Compute the set of accessible nodes from a given **source**, via open streets.   * Compute the set of accessible nodes from a given **source**, via open streets.
-  * (Hint: 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) 
 + 
 + 
 +===== Haskell practice ===== 
 + 
 +Solve the same exercise, only build your own input as a string, instead of a file.