ネストされた辞書のある条件

ベンチ

次のデータが与えられます:

diccionario_datos_clientes = [
    {"Name": "Marcos", "Age": 23, "Ranking": 14, "Contact":{ "Work": 99000001, "Personal": 7222003}},
    {"Name": "Hugo", "Age": 26, "Ranking": 83, "Contact": { "Work": 99000002, "Personal": 97220042}},
    {"Name": "Manuel", "Age": 13, "Ranking": 2, "Contact": { "Work": 99000003, "Personal": 47220003}},
    {"Name": "Maria", "Age": 66, "Ranking": 7, "Contact": { "Work": 99000004, "Personal": 47220004}},
    {"Name": "Itziar", "Age": 20, "Ranking": 23, "Contact": { "Work": 99000005, "Personal": 47220005}}
]

個人的な連絡先が有効かどうかを確認する必要があります。条件は次のとおりです。

  • 番号は8桁以上である必要があります
  • 最初の数字は4でなければなりません
  • 4、5、6の位置の数字は0でなければなりません。

番号が有効でない場合は、名前と勤務先の連絡先をリストに追加する必要があります。

最初の2つの条件を実行できましたが、3番目の条件で問題が発生しています。

    dic_llamar=[]
    for dic in diccionario_datos_clientes:
        if len(str(dic['Contact']['Personal']))<8:
            dic_llamar.append((dic['Name'],dic['Contact']['Work']))
        elif int(str(dic['Contact']['Personal'])[0])!=4:
            dic_llamar.append((dic['Name'],dic['Contact']['Work']))

不明な点がないかすぐに聞いてください。

コッパーフィールド

これを独自の関数に抽出する方が良いと思います

def isValid(number):
    """take a number and said if is a valid contact number"""
    s = str(number)
    return len(s)>=8 and s[0]=="4" and s[4:7]=="000"

(なぜ他の人が同じことを何度も繰り返すのか分かりません)

独自の機能に組み込むことで、機能するかどうかをより簡単に確認でき(個別にテストできるため)、必要に応じてプロジェクトの他の部分でより簡単に使用できます。

そしてそれを次のように使用します

for dic in diccionario_datos_clientes:
    if isValid(dic['Contact']['Personal']):
        #do something
    else: 
        #do something else

よりクリーンでより美しい

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

float エラーのある辞書内のネストされたリスト

分類Dev

ネストされた辞書へのリストの辞書

分類Dev

ネストされた辞書の分割

分類Dev

ネストされた辞書の比較

分類Dev

Pythonのネストされた辞書

分類Dev

ネストされた辞書の作成

分類Dev

DjangoQuerySetのネストされた辞書

分類Dev

ネストされた辞書の分割

分類Dev

ネストされた辞書の平均

分類Dev

ネストされた辞書の辞書の変換

分類Dev

Python辞書のネストされた辞書による並べ替え

分類Dev

Python-辞書/ネストされた辞書のタプルを注文する

分類Dev

2つの辞書からネストされた辞書を作成する

分類Dev

ネストされた辞書を辞書に変換する

分類Dev

深みのあるネストされた辞書(森)をテキストファイルに書き込む

分類Dev

ネストされた辞書から単一の辞書

分類Dev

ネストされた辞書の値を更新する-Python

分類Dev

ネストされた辞書を処理する最速の方法

分類Dev

辞書のネストされた値を変更する

分類Dev

辞書のネストされた値を変更する

分類Dev

ネストされた辞書の値を合計する方法

分類Dev

Pythonでネストされた辞書の値を取得する

分類Dev

ネストされた辞書を作成するPythonの方法

分類Dev

内部のネストされた辞書を取得する

分類Dev

ネストされた辞書の値を変更する

分類Dev

ネストされた辞書のPythonを更新する

分類Dev

Python3で条件付きのネストされた辞書リスト内包表記を解釈する方法

分類Dev

存在する場合と存在しない場合があるネストされた辞書値の印刷

分類Dev

ネストされた辞書へのネストされたリスト

Related 関連記事

  1. 1

    float エラーのある辞書内のネストされたリスト

  2. 2

    ネストされた辞書へのリストの辞書

  3. 3

    ネストされた辞書の分割

  4. 4

    ネストされた辞書の比較

  5. 5

    Pythonのネストされた辞書

  6. 6

    ネストされた辞書の作成

  7. 7

    DjangoQuerySetのネストされた辞書

  8. 8

    ネストされた辞書の分割

  9. 9

    ネストされた辞書の平均

  10. 10

    ネストされた辞書の辞書の変換

  11. 11

    Python辞書のネストされた辞書による並べ替え

  12. 12

    Python-辞書/ネストされた辞書のタプルを注文する

  13. 13

    2つの辞書からネストされた辞書を作成する

  14. 14

    ネストされた辞書を辞書に変換する

  15. 15

    深みのあるネストされた辞書(森)をテキストファイルに書き込む

  16. 16

    ネストされた辞書から単一の辞書

  17. 17

    ネストされた辞書の値を更新する-Python

  18. 18

    ネストされた辞書を処理する最速の方法

  19. 19

    辞書のネストされた値を変更する

  20. 20

    辞書のネストされた値を変更する

  21. 21

    ネストされた辞書の値を合計する方法

  22. 22

    Pythonでネストされた辞書の値を取得する

  23. 23

    ネストされた辞書を作成するPythonの方法

  24. 24

    内部のネストされた辞書を取得する

  25. 25

    ネストされた辞書の値を変更する

  26. 26

    ネストされた辞書のPythonを更新する

  27. 27

    Python3で条件付きのネストされた辞書リスト内包表記を解釈する方法

  28. 28

    存在する場合と存在しない場合があるネストされた辞書値の印刷

  29. 29

    ネストされた辞書へのネストされたリスト

ホットタグ

アーカイブ