ホームページ > バックエンド開発 > Python チュートリアル > Python は辞書からサブセットを抽出するメソッドを実装します (コード)

Python は辞書からサブセットを抽出するメソッドを実装します (コード)

不言
リリース: 2018-10-23 16:11:49
転載
2078 人が閲覧しました
この記事の内容はPythonで辞書からサブセットを抽出する方法(コード)に関するもので、一定の参考価値はありますが、困っている友人は参考にしていただければ幸いです。

1. 要件

それ自体が別の辞書のサブセットである辞書を作成したいと考えています。

2. 解決策

これは、辞書導出を使用して簡単に解決できます。

prices={
'a':1.1,
'b':2.2,
'c':3.3,
'd':4.4,
'e':5.5
}
p1={key:value for key ,value in prices.items() if value>3}
print(p1)

names={'a','b'}
p2={key:value for key,value in prices.items() if key in names}
print(p2)
ログイン後にコピー

結果:

{'c': 3.3, 'd': 4.4, 'e': 5.5}
{'a': 1.1, 'b': 2.2}
ログイン後にコピー

3. 分析

辞書導出によって解決できる問題のほとんどは、タプルを作成することによっても解決できます。次に、それらは dict() 関数に渡されて完了します。例:

#结果为:{'c': 3.3, 'd': 4.4, 'e': 5.5}
p3=dict((key,value) for key,value in prices.items() if value>3)
ログイン後にコピー

しかし、辞書導出メソッドはより明確で、実際にははるかに高速に実行されます。 (最初の効率はほぼ 2 倍速くなります)

同じことを同時に完了するために複数の方法がある場合があります。たとえば、2 番目の例は次のように書き換えることもできます。

#结果为:{'b': 2.2, 'a': 1.1}
p4={key:prices[key] for key in prices.keys() & names}
ログイン後にコピー

ただし、テストの結果、この解決策は最初の解決策よりもほぼ 1.6 倍遅いことが示されています。したがって、同じ問題に対して複数の解決策がある場合は、ちょっとしたテストを行って、かかった時間を調べることができます。

以上がPython は辞書からサブセットを抽出するメソッドを実装します (コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート