列表生成式,生成列表
list_a = [1, 2, 3] list_c = list((4, 5, 6)) # list_c == [4, 5, 6] list_d = [i for i in list_a] # list_d == [1, 2, 3] list_e = [i*j for i in list_a for j in list_c] # list_e == [4,5,6,10,12,12,15,18] list_f = [i*j for i,j in zip(list_a,list_c)] # list_f == [4, 10, 18] list_g = [i for i in list_a if i%2 == 0] # list_g == [2]
元組生成式生成一個生成器對象,通過for或者next遍歷,遍歷后,原生成器對象就不存在了
t1=(i*i for i in range(10)) print t1.next() print t1.next() tuple1=tuple(t1) print tuple1 #結果: 0 1 (4, 9, 16, 25, 36, 49, 64, 81)
t2=(i for i in range(10)) for i in t2: print i, tuple2=tuple(t2) print tuple2 #結果 0 1 2 3 4 5 6 7 8 9 ()