ネストされた辞書に保存されている人々に関する膨大なデータセットがあります。
外側の辞書には、キーが人の名前であり、値が別の辞書にその人に関するすべての情報(電子メール、電話、番号、給与などの機能)が含まれています。内部のdictキーは機能名(つまり「email」など)であり、値は機能の値(so '[email protected]'
)です。
私はすべての人が同じ数の機能を持っていることを知っています。機能の数を数えるにはどうすればよいですか?
これを行うと、人数だけが表示されます。
print(len(enron_data))
外部ディクショナリの値の1つだけの長さが必要な場合は、反復順に「最初の」値を選択するだけです。辞書の場合、順序は「任意」または挿入順序のいずれかですが、すべての辞書に同じ数のキーがある場合は、どちらを選択してもかまいません。
'first'を取得するdict.values()
には、でイテレータに変換し、結果iter()
を呼び出しますnext()
。
one_value = next(iter(enron_data.values())) # *one* of the values
number_of_features = len(one_value)
場合next()
とiter()
怖い、あなたも使用することができますfor
ループをし、break
最初の繰り返しの後のループを終了するには:
for value in enron_data.values():
number_of_features = len(one_value)
break
ここではPython3を使用していると想定しています。Python 2を使用している場合enron_data.itervalues()
はenron_data.values()
、の代わりにを使用します。それ以外の場合は、最初にすべての値に対して大きな新しいリストオブジェクトを作成します。それは本当にメモリとCPU時間の無駄です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加