三元式とリスト解析

786 ワード

一.三元表現
1.フォーマット:
        if      else        

2.使い方:
res = 1 if 5>3 else 0 # res = 1

二.リスト解析
1.フォーマット:
[      for x in l       ]

2.使い方:
a = [x**2 for x in range(1,5) if i%2==0] #  [4,16]


a= [1,2,3]                 #zip(a,b)   [(1,4), (2,5),(3,6)]
b=[4,5,6]                  #     [4,10,18]
[x*y for x,y in zip(a,b)]  #


a = [[1,2],[3,4,5]]
[x for i in a for x in i]  #  [1,2,3,4,5]  :              


a = [1,2,3]                             #
b = [4,5,6]                             #
[{‘a’:x,’b’:y} for x in a for y in b}   #       len(a)*len(b)   


a = [[1,2],[3,4],[5,6]]
[{‘A’:x[0],‘B’:x[1]} for x in a}    #  [{‘A’:1,’B’:2},{‘A’:3,’B’:4},{‘A’:5,’B’:6}]