for文より内包表記の方が速いらしいのでなるべく内包表記にしようと練習しています。
どうしたいかを伝えるのにもっとシンプルなサンプル書ければ良いのですがすみません。
####知りたいこと
以下のサンプルコードのfor文を内包表記に書き換えたいのですが疑問が生じました。
もしかすると内包表記では終端処理的なことは1つしか書けないのでしょうか?
例えば途中で変数をカウントアップしながら最後にリストを作るなど。
出来ないなら出来ないという回答でも構いませんのでご教示頂ければ助かります。
(出来るよ!のヒントだけでも構いません。)
####試したこと
サンプルコードの中の count += 1 の部分をどのように組み込めばよいのか分からず当てずっぽうで入れて
みても動きませんでした。
現状では内包表記でリスト出力までは出来たものの同時にカウントする方法が分からずそのままです。
現状のサンプルコード
python
1#普通のfor文 2count = 0 3for i in range(10): 4 if i % 2 ==1: 5 for j in range(5): 6 if j % 2 ==1: 7 count += 1 8 print(i*10 +j,end = ' ') 9print('count:',count) 10 11#内包表記 12count = 0 13print(*[i*10 +j for i in range(10) if i % 2 == 1 for j in range(5) if j % 2 == 1],end = ' ') 14print('count:',count) 15
python
1出力結果 211 13 31 33 51 53 71 73 91 93 count: 10 311 13 31 33 51 53 71 73 91 93 count: 0 ←※未実装なので0のままです

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/07 07:05
2018/10/07 07:12
2018/10/07 07:16
2018/10/07 08:37
2018/10/07 08:41