如何计算大量嵌套字典之一中的键

问题描述 投票:1回答:1

我有一组关于人员存储在嵌套字典中的大量数据。

外部字典的键是一个人的名字,值是另一个字典,包含有关该人的所有信息(功能,如电子邮件,电话,号码,工资......)。内部字典键是功能名称(所以'电子邮件'等等),值是功能的值(所以'[email protected]')。

我知道所有人都有相同数量的功能。我如何计算有多少功能?

当我这样做时,我只得到了人数:

print(len(enron_data))
python dictionary
1个回答
3
投票

如果只需要外部字典的一个值的长度,只需按迭代顺序选择“第一个”值。对于词典order is either 'arbitrary' or insertion order,但如果你的所有词典都有相同数量的键,那么你选择哪一个并不重要。

要获得'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

我假设你在这里使用Python 3。如果您使用的是Python 2,请使用enron_data.itervalues()而不是enron_data.values(),否则首先为所有值创建一个大的新列表对象。这真的是浪费内存和CPU时间。

© www.soinside.com 2019 - 2024. All rights reserved.