Python
 Computer >> コンピューター >  >> プログラミング >> Python

ネストされたPython辞書の要素を数える方法は?


式によって辞書内の各キーと値のペアを反復処理することができます

for k,v in students.items():

各アイテムの値コンポーネント自体がネストされたPythonディクショナリのディクショナリであるため、各サブディクショナリの長さはlen(v)です。ループ全体で累積加算を実行して、すべての要素の数を取得します

>>> students={"student1":{"name":"Raaj", "age":23, "subjects":["Phy", "Che", "maths"],"GPA":8.5},"student2":{"name":"Kiran", "age":21, "subjects":["Phy", "Che", "bio"],"GPA":8.25}}
>>> s=0
>>> for k,v in students.items():
    s=s+len(v)


>>> s
8

上記のよりコンパクトな表現は-

になります
>>> sum(len(v)for v in students.values())
8

  1. Pythonで辞書を反復処理する方法は?

    Pythonディクショナリオブジェクトを反復処理する方法は2つあります。 1つは、keys()リストの各キーに関連付けられた値をフェッチすることです。 >>> D1 = {1:a, 2:b, 3:c} >>> for k in D1.keys(): print (k, D1[k]) 1 a 2 b 3 c タプルのリストを返す辞書オブジェクトのitems()メソッドもあり、各タプルにはキーと値があります。次に、各タプルが2つの変数に解凍され、一度に1つの辞書アイテムが出力されます。 >>> D1={1:a, 2:b, 3:c

  2. Pythonで文字列を辞書に変換する方法は?

    ここでast.literal_eval()を使用して、文字列をPython式として評価できます。式ノードまたはPython式を含む文字列を安全に評価します。提供される文字列またはノードは、文字列、数値、タプル、リスト、dict、ブール値、およびなしのPythonリテラル構造のみで構成されます。例:  >>>import ast >>>x = ast.literal_eval("{'foo' : 'bar', 'hello' : 'world'}") >>