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