There’s plenty of food for thought in those. They both encourage the use of list comprehensions, which I happen to like quite a lot.
On that note, I was recently asked about doing some contrived simple programming problems in list comprehensions.
Find the overlapping elements in two lists:
[item for item in list1 if item in list2]
This can also be done using sets:
Find the first repeating character in a string:
[char for char in s if s.count(char)>1]
Alec points out a far superior method in the comments:
next(c for i,c in enumerate(s) if c in islice(s, i+1)
Reverse a string (couldn’t do this in less than 3 lines until I remembered list slices):