問題タブ [dictionary-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 投票する
2 に答える
102 参照

python - list のリストの最初の要素から辞書を作成する

これは、辞書内包表記と辞書内包表記内のリスト内包表記で set()を使用した場合のパフォーマンスと、新しい辞書への割り当ての繰り返しについての質問です。

したがって、たまたまリストのリストであるデータセットがあり、新しい辞書を作成できるように、ビッグリスト内の各リストで「0」でインデックス付けされた要素の一意のリストを取得する必要がありますそれらから.. dict.fromkeys() のようなもの.. ここで、一意のキーのリストを提供する必要があります..

私は使用しています

[1]{ x : [] for x in set([i[0] for i in data])}

また、

[2]{ i[0] : [] for i in data}

ここで参照するサンプル データは次のようになります。 [[1,3,4], [3,5,2], [1,5,2]]

上記の [1] と [2] を実行した結果は次のようになります。 { 1:[], 3: [] }

両方のステートメントで %timeit を試してみましたが、両方ともほぼ同じ結果が得られたため、リストの大きなリストの場合、パフォーマンスに関してどちらが最適かを特定するのが難しくなっています

ここで潜在的なボトルネックを特定するにはどうすればよいですか?

編集:

これが結果の説明に役立つ場合..

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

python - 辞書内包内のリスト内包内のリストが空かどうかを確認するにはどうすればよいですか?

現在、辞書内包表記内でリスト内包表記を使用して、リストを値として持つ2つの辞書間の変更を検出しています。

コードは次のようになります。

これにより、各エントリがテーブル名であり、それに関連付けられたリストの変更であるディクショナリが作成されます。

私が得ている問題は、このコードは機能しますが、結果の構造detectedChangesが、テーブル名と空のリストのみを含むエントリで満たされることです(変更が検出されなかったことを意味します)。

現在、これらのエントリを削除するために辞書を後方スイープしていますが、そもそもそれらを辞書に入れないようにしたいと思います。

基本的に、長さのチェックなどを行うことができれば[field for field in tableDict[table]、key:value エントリを作成する前にそれを検証できます。

現在使用している方法でこれを行う方法はありますか?

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

python - Python、包括的なリスト内で辞書を生成しようとしています

内部で内包表記と三項を使用して単語のリストから辞書を生成したい場合、いくつかの問題が発生し、助けが必要です。

単語の長さをキーとして、単語を値として使用して、余分なモジュールをインポートせずに辞書を生成する必要があります。最も単純化された私の問題は次のとおりです。

次に、それを包括的にしようとしました:

...これは機能しません。何か助けはありますか?

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

python - ラムダ式を使用した辞書理解は、目的の結果を生成できません

値が一致するかどうかをテストする関数に int の文字列をマップするワンライナーを作成しています。理想的には、結果ディクショナリはおよびのdように動作します。しかし、代わりに、次の出力が得られます。d['0'](0) is Trued['0'](1) is False

その理由は遅延評価だと思います。ループを使用して辞書をfor正しく作成できると思いますが、代わりに1行の式が必要です。

このアプローチが失敗する理由と、それを正しく行う方法を誰かが説明できますか?