Python
1a, b, c, d, e, f = [], [], [], [], [], []
このような方法だとリストの数が増えると無駄なコードが多くなる気がします。
空のリストを作るときにfor文などで効率よくリストを生成することができますか。
このあとに、別々の複数の値を各リストに代入したいと考えています。
リストには、区別のつくように名前をつけたいと思っています。
よろしくおねがいします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
ベストアンサー
註:直接的な回答ではありません。
実際のコードを見てみないとなんとも言えないですが...
ある程度リスト内包表記を使いこなせるなら、空のリストを宣言する場面は少ないです。
効率よく空のリストを生成する方法より先に、
空のリストを要しないコーディングを意識した方がよいかと思います。
一般に内包表記は速度も速く、(慣れれば)読みやすく簡潔です。
例:3の含まれる数字だけを抽出
Python
1dst_list = [] 2for i in range(100): 3 if '3' in str(i): 4 dst_list.append(i)
Python
1dst_list = [i for i in range(100) if '3' in str(i)]
内包表記を使うと...
・ 速度面で有利
・ 行数が減る
・ 慣れると簡潔で読みやすい
・ Python使いこなしてる感が出る
投稿2017/11/30 11:27
編集2017/11/30 11:49総合スコア35676
0
[追記]
ごめんなさい、コード部分空のリスト10個作るのではなく長さ10のリストを作っていただけでしたので修正しました。
python
1import numpy as np 2 3empty_lists = np.empty((10, 1)) 4print(empty_lists.size) 5""" 6>>> 10 7"""
numpyでせめてみます。
投稿2017/11/30 11:46
編集2017/11/30 12:03総合スコア1170
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
これでもいけそう
Python
1empty_lists = [[]] * 10
投稿2017/11/30 23:10
総合スコア15898
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/01 04:37
2017/12/01 05:01 編集
2017/12/01 04:54
2017/12/01 05:01

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/30 11:59
2017/11/30 12:14
2017/11/30 15:43
2017/11/30 16:53 編集
2017/12/01 01:56
2017/12/01 04:48
2017/12/01 05:12
2017/12/01 05:18
2017/12/01 05:45
2017/12/01 06:10
2017/12/01 06:23