問題タブ [list-comprehension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
3503 参照

python - タプルで索引付けされた Python リスト

私はいくつかの目的で Python を使用する必要がある Matlab ユーザーです。誰かが Python 構文で私を助けてくれれば、本当に感謝しています:

(1) Python でリストをタプルで索引付けできるというのは本当ですか? もしそうなら、どうすればいいですか?たとえば、それを使用してデータのマトリックスを表現したいと思います。

(2) data[(row,col)] のように、タプルによってインデックス付けされたリストを使用できると仮定すると、列全体を削除するにはどうすればよいですか? 私はMatlabで知っています、私は次のようなことができます

データから列 x を削除したい場合。

(3) 各行の負でない要素の数を簡単に数えることはできますか? たとえば、Matlab では、次のようなことができます。

これにより、各行の負でないエントリの数を表す列ベクトルが得られます。

どうもありがとう!

0 投票する
2 に答える
420 参照

python - リスト内包表記またはその他の方法で 1 つのリストを 2 つに分ける方法

次のような辞書項目のリストがある場合:

これらのエントリを「b」の値 (0 または 1) に基づいて分割したいと思います。

私は単純なリスト内包表記の使用に慣れており、現在、リスト L を 2 回ループしています。

明らかに、これは最も効率的な方法ではありません。

リスト内包表記機能では、else 句が使用できないようです。

リスト内包表記でやりたいことはできますか?

これを行うより良い方法はありますか?

読みやすさと効率のバランスを取り、読みやすさに傾倒しています。

ありがとう!

更新: コメントとアイデアをありがとう! 私にとって最も読みやすいのは、Thomas によるものです。しかし、アレックスの提案も見ていきます。コレクションモジュールへの参照は以前に見つかりませんでした。

0 投票する
4 に答える
29040 参照

python - リスト内包表記: これはなぜ構文エラーなのですか?

次のリスト内包表記で、print(x)ここが無効 ( ) であるのはなぜですか?SyntaxError

対照的に、次の構文エラーは発生しません。

0 投票する
6 に答える
26172 参照

python - Python でリスト内包表記を使用して、zip() と同様のことを行いますか?

私は Python の初心者で、やろうとしていることの 1 つは、リストの理解に頭を悩ませることです。学ぶ価値のある非常に強力な機能であることがわかります。

リスト内の一連のタプルではなく、リスト内の一連のリストとして結果を取得できるように、リスト内包表記を使用するにはどうすればよいですか?

(この状況ではおそらく辞書の方が適していると思いますが、リストをもう少しよく理解しようとしています)。ありがとう!

0 投票する
2 に答える
1135 参照

python - このgenexpのパフォーマンスがリスト内包表記よりも悪いのはなぜですか?

特定のフィルターに一致するリスト内のアイテムの数を数える最も簡単な方法を見つけようとしていました。この場合、リストに奇数がいくつあるかを見つけます。

これを行っている間、リスト内包表記と同等のジェネレータ式を比較した結果に驚きました。

また、Lを通常のリストとし、サイズを変えてみましたが、すべての場合でリスト内包表記が優先されます。

100万アイテムの新しいリストを作成するlistcompと比較して、genexpの動作が遅くなる原因は何ですか...?

(ところで、私が見つけた最速の方法は次のとおりx = 1; len(filter(x.__and__, L))です。そして、はい、私は子猫を殺すようなコードを書くことを知っています、私はそれを楽しむためにそれをやっています)

0 投票する
7 に答える
639 参照

python - Python で単語のリストから個別の文字のリストに移動する方法

Python を使用して、単語のセンテンスを、そのセンテンス内のすべての個別の文字のフラットなリストに変換しようとしています。

これが私の現在のコードです:

このコードは を返しますが['s', 'h', 'e', 'l', 'a', 'b', 'y', 't', 'o', 'r']、これは正しいですが、おそらくリスト内包表記を使用して、この答えにもっと Pythonic な方法がありsetますか?

リスト内包表記のネストとフィルタリングを組み合わせようとすると、フラットなリストではなく、リストのリストが表示されます。

最後のリスト ( ) 内の個別の文字の順序はltr重要ではありません。重要なのは、それらが一意であることです。

0 投票する
2 に答える
327 参照

python - リスト内包表記と関数

このようなことをしようとすると、少し混乱します

次に試しb[1](2)てみると、結果として1024が間違っています。でもそう書くと

大丈夫

正常に動作しますが、最初のコードで何が問題になっていますか?

0 投票する
5 に答える
6009 参照

python - ネストされた辞書を逆にする Pythonic の方法

人をキーとして、人とアイテムの評価のネストされた辞書があります。アイテムを共有する場合としない場合があります。例:

これらの関係を反転する最も簡単な方法を探しており、アイテムをキーとして新しいネストされた辞書を作成しています。例:

これを行う最善の方法は何ですか?了解の上で可能ですか?

0 投票する
3 に答える
4866 参照

python - ネストされたPythonループをリスト内包表記に変換する

私はいくつかのプロジェクトオイラーの問題に取り組み始め、単純なブルートフォースソリューションで4番目を解決しました。

解決した後、私はそれをできるだけコンパクトにしようとしました、そしてその恐ろしい収益を思いつきました!

中途半端なことをしないように、私はmprods関数をリスト内包に凝縮しようとしています。これまでのところ、私はこれらの試みを思いついた:

  • [d*e for d,e in (range(a,b), range(a,b))]
    明らかに完全に間違った方向に進んでいます。:-)
  • [d*e for x in [e for e in range(1,5)] for d in range(1,5)]
    これは私[4, 8, 12, 16, 4, 8, 12, 16, 4, 8, 12, 16, 4, 8, 12, 16]に、私が期待する [1, 2, 3, 4, 2, 4, 6, 8, 3, 6, 9, 12, 4, 8, 12, 16]か、または同様のものを与えます。

役立つPythonistasはありますか?:)

0 投票する
1 に答える
926 参照

dynamic - Haskell でリスト内包表記を動的に構築する

Haskell でリスト内包表記を動的に構築できるかどうか興味があります。

例として、次の場合:

私は私が求めているものを手に入れます

しかし、私が本当に欲しいのは、次のようなものを持つことです

のバージョンをNビルドせずに引数のペアをサポートできるようにします。私はまだHaskellにかなり慣れていないので、明らかなことを見落としている可能性があります。これは可能ですか?Nall_pows