ホームページ > バックエンド開発 > Python チュートリアル > Python でキーと値のペアのフラット リストを辞書に効率的に変換するにはどうすればよいですか?

Python でキーと値のペアのフラット リストを辞書に効率的に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 18:37:15
オリジナル
524 人が閲覧しました

How Can I Efficiently Convert a Flat List of Key-Value Pairs into a Dictionary in Python?

フラット リストを辞書に変換する

Python では、キーと値のペアのリストを辞書に変換することは、いくつかの方法で実現できます。方法。最も簡単な方法は、dict() 関数を使用することです。たとえば、リスト a = ['hello', 'world', '1', '2'] の場合、次の構文を使用して辞書 b を作成できます。

b = dict(zip(a[::2], a[1::2]))
ログイン後にコピー

このコード行zip() 関数を使用してタプルのリストを作成します。各タプルにはキーとそれに対応する値が含まれます。次に、dict() 関数は、このタプルのリストを辞書に変換します。

リストを辞書に変換する別の方法は、辞書内包表記を使用することです。このアプローチは、特に大きなリストの場合、より簡潔で読みやすくなります。

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}
ログイン後にコピー

この内包表記は、リスト a をペアで反復処理し、最初の要素をキーに割り当て、2 番目の要素を値に割り当てます。

リストが非常に大きい場合は、中間リストの作成を避けた方がよいかもしれません。このような場合、 itertools.izip() 関数を使用すると、一時リストを作成せずに、リストを遅延的に反復処理できます。このアプローチの構文は次のとおりです。

from itertools import izip
i = iter(a)
b = dict(izip(i, i))
ログイン後にコピー

Python 3 では、zip() 関数はすでに遅延しているため、izip() を使用する必要はありません。 「セイウチ」演算子 (:=) を使用して、これを 1 行で記述することもできます:

b = dict(zip(i := iter(a), i))
ログイン後にコピー

以上がPython でキーと値のペアのフラット リストを辞書に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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