【Python】文法学習7
1249 ワード
一、リスト生成式
1.リストの生成
2.複雑な式
3.条件フィルタ
ifがtrueの場合にのみ、ループの現在の要素がリストに追加されます.isinstance(x,str)は、変数xが文字列であるか否かを判断することができる.文字列のupper()メソッドは、大文字の子母を返すことができます.例:
4.複数階層式
多層forループを用いてリストを生成することができる.
ループコードに翻訳すると、次のようになります.
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)