print [x for x in range(5)] # [0, 1, 2, 3, 4] print [x for x in range(5) if x % 2 == 0] # [0, 2, 4] print filter((lambda x: x % 2 == 0), range(5)) # [0, 2, 4] res = [] for x in range(5): if x % 2 == 0: res.append(x) print res # [0, 2, 4] # filterで要素を抽出し、mapで抽出した要素をごにょごにょしてる print map((lambda x: x **2), filter((lambda x: x % 2 == 0), range(10))) # [0, 4, 16, 36, 64] # リストの中にタプルを放り込むリスト内包表記 print [(x,y) for x in range(5) if x%2 == 0 for y in range(5) if y % 2 == 1] # [(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]