【Python】文法学習7

1249 ワード

一、リスト生成式
1.リストの生成
>>>range(1,11)
[1,2,3,4,5,6,7,8,9,10]
>>>[x*x  for  in  range(1,11)]
[x*x   for  x  in  range(1,11)]
>>>[x*(x+1)  for  x  in  range(1,100,2)]
[2,12,30,.....,9900]

2.複雑な式
3.条件フィルタ
>>>[x*x  for  x  in  range(1,11)]
[1,4,9,16,25,36,49,64,81,100]
>>>[x*x  for  x  in  range(1,11)  if  x%2==0]
[4,16,36,64,100]

ifがtrueの場合にのみ、ループの現在の要素がリストに追加されます.isinstance(x,str)は、変数xが文字列であるか否かを判断することができる.文字列のupper()メソッドは、大文字の子母を返すことができます.例:
>>>def  toUppers(L):
                return  [x.upper()  for  x  in  L  if  isinstance(x,str)]
>>>print  toUpper(['Hello','World',])
['HELLO','WORLD']

4.複数階層式
多層forループを用いてリストを生成することができる.
>>>[m+n  for  m  in  'ABC'  for  n  in  '123']
['A1','A2','A3','B2','B3','C1','C2','C3'] 

ループコードに翻訳すると、次のようになります.
L=[]
for  m  in  'ABC':
      for  n  in  '123':
            L.append(m+n)