Just a another thought after I've had a night's sleep. When you are learning python you should try to initially "do it all yourself" and not use things like comprehensions because explicitly writing out the code to compute the contents of a list helps you learn algorithmic thinking which is the other thing you are learning besides python syntax. But after a time you should start to use those features because you should be thinking at a higher level, trying to solve a problem. At that stage you won't be thinking about, or want to be bothered about, incrementing an index. There's a quote from Larry Wall in his book Programming Perl: There are three great virtues of a programmer; Laziness, Impatience and Hubris. By "laziness" I think he means not doing things yourself that the computer can do. Human brains are quite limited, considering, and you should learn to offload whatever you can to the computer. That way you can more easily tackle complicated problems.
