ホームページ > バックエンド開発 > Python チュートリアル > Day Refactory -TS Pythonの繰り返しおよびタイプ

Day Refactory -TS Pythonの繰り返しおよびタイプ

Susan Sarandon
リリース: 2025-01-26 00:11:09
オリジナル
582 人が閲覧しました

Refatorada do dia - Ts   Python   recursividade e tipos

この記事では、エレガントで効率的なPythonソリューションを調べて、空の文字列を巣になったデータ構造(辞書とリスト)内の任意の値に変換します。 元のタイプスクリプトソリューションは、機能的ではありますが、再帰と

の理解を使用して、より簡潔で「Pythonica」アプローチを促しました 最初に、異なるPythonで囲まれたデータ構造を含む3つの異なるファイルを扱うときに必要性が生じました。ジェネリックソリューションの検索により、データ構造を実行する再帰関数の開発が行われ、空の文字列が標準値に置き換えられました(例では「制限されていません」) Python関数の最初のバージョンは、辞書とリストについて反復するために明示的なループを使用しました。 ただし、

辞書の補完

および

のリストの進化により、comprahension

のリストは、同じ再帰ロジックを維持し、大幅にコンパクトで読みやすいコードをもたらしました。 Pythonの最終ソリューション:

それがどのように機能するか:

<code class="language-python">def substituir_strings_vazias(dados):
    if isinstance(dados, dict):
        return {k: substituir_strings_vazias(v) for k, v in dados.items()}
    elif isinstance(dados, list):
        return [substituir_strings_vazias(item) for item in dados]
    elif isinstance(dados, str) and dados == "":
        return "NAO_ENCONTRADO"
    return dados

dados = {
    "nome": "",
    "idade": 25,
    "endereco": {
        "rua": "",
        "cidade": "São Paulo",
        "estado": ""
    },
    "contatos": ["", "email@example.com"]
}

dados_convertidos = substituir_strings_vazias(dados)
print(dados_convertidos)</code>
ログイン後にコピー
関数

は再帰的です。 彼女は、受信したデータの種類をチェックします:

substituir_strings_vazias辞書:

辞書の場合、
    辞書の理解
  1. を使用して、各値が同じ関数によって再帰的に処理される新しい辞書を作成します。 リスト:リストの場合、各アイテムが再帰的に処理される新しいリストを作成します

  2. 空の文字列:空の文字列である場合、「制約されていない」

    その他のタイプ:
  3. 他のタイプのデータについては、変更なしで元のデータを返します。
  4. 再帰は、関数がデータ構造のすべての巣立ちレベルを処理することを保証します。 Pythonコードの簡潔さは、のおかげで、元のTypeScriptバージョンと比較してソリューションの優雅さと効率を強調しています。 この関数は、nullまたは空の値を持つデータセットの正規化のために非常に再利用可能になります。 最終的なPythonアプローチと初期タイプスクリプトの違いは、このタイプの問題に対処するためにPythonで利用可能なツールの力を示しています

以上がDay Refactory -TS Pythonの繰り返しおよびタイプの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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