その1の続き
- 1つのスライスの中でstart, end, strideを使わないこと
- 奇数番目だけ表示 list[::2]
- 偶数番目だけ表示 list[1::2]
- Reversing strings list[::-1]
- MapやFilterの代わりにList comprehensionを使うこと
- 全ての要素の数を2乗する [ x**2 for x in list]
- 2段の配列をflatにする
list = [[1,2,3],[4,5,6]][ second for first in list for second in first] - 2の倍数の数だけ2乗して格納する [ x**2 for x in list if x % 2 == 0]
- ListだけでなくDictionaryやSet型もcomprehensionをサポートしている
- List Comprehensionに2つより多くfor, ifなどを用いないこと
- 大量のリストにList Comprehensionは使わず、Generator Expressionを使う
- list = [[1,2,3],[4,5,6]]gen = ( second for first in list for second in first)
for val in gen:
print(val) - RangeじゃなくてEnumerateを使う
- for index, val in enumerate(list):
print(index,val) - 複数のイテレータを同時に処理する場合にはzipを使う
- zipを使う場合には同じ長さのものを使う
- For/elseを使わないこと。