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

Python で表形式のリストを辞書に効率的に変換するにはどうすればよいですか?

Dec 07, 2024 am 06:24 AM

How Can I Efficiently Convert a Tabular List to a Dictionary in Python?

Python で表形式のリストを辞書に変換する

プログラミングでは、データが表形式で編成されるシナリオによく遭遇します。 list では、偶数のインデックスがキーを表し、奇数のインデックスが対応する値を表します。タスクは、このリストを辞書に変換することです。

解決策:

この変換を達成する最もクリーンで効率的な方法は、Python の組み込み関数を利用することです。

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

このコードは、リスト a を効果的に反復し、拡張スライス演算子 [::2] を使用してスライスします。これにより、他の要素がすべてスキップされます。結果は 2 つのリストになります。a[::2] にはキーが含まれ、a[1::2] には値が含まれます。これらのリストは、dict() 関数を使用して辞書を構築するために使用されます。

大きなリストの場合は、一時リストの作成を避けるために別のアプローチをお勧めします。

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

このメソッドはiter() 関数を使用してリストの反復子を作成します。 izip() 関数 (Python 3 では zip()) は、各反復子の要素をインターリーブし、キーと値のタプルを生成する新しい反復子を作成します。これらのタプルは辞書を構築するために dict() に渡されます。

Python 3 では、構文的に便利な別のメソッドは次のとおりです。

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

このコードは、リストを反復処理する辞書内包表記を使用します。インデックスを 2 段階で作成し、キーと値を新しい辞書に組み立てます。

Python 3.8 の場合その後、「セイウチ」演算子 (:=) を使用して、これを 1 行で簡潔に記述することができます:

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

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでファイルをダウンロードする方法 Pythonでファイルをダウンロードする方法 Mar 01, 2025 am 10:03 AM

Pythonでファイルをダウンロードする方法

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

Pythonで独自のデータ構造を実装する方法 Pythonで独自のデータ構造を実装する方法 Mar 03, 2025 am 09:28 AM

Pythonで独自のデータ構造を実装する方法

See all articles