我有一本Python2.7的字典。
我需要快速计算所有键的数量,包括每个字典中的键。
因此,在这个例子中,我需要所有键的数目为6:
dict_test = {'key2': {'key_in3': 'value', 'key_in4': 'value'}, 'key1': {'key_in2': 'value', 'key_in1': 'value'}}我知道我可以用for循环遍历每个键,但是我正在寻找一种更快的方法来实现这一点,因为我将拥有成千上万个键,而这样做是无效的:
count_the_keys = 0
for key in dict_test.keys():
for key_inner in dict_test[key].keys():
count_the_keys += 1
# something like this would be more effective
# of course .keys().keys() doesn't work
print len(dict_test.keys()) * len(dict_test.keys().keys())发布于 2016-02-16 08:59:00
怎么样
n = sum([len(v)+1 for k, v in dict_test.items()])你所做的是对所有的键k和值进行迭代,v是你的副词。您将获得这些字典的长度,并添加一个以包含用于索引子字典的键。
然后,对列表进行加和,以得到完整的键数。
编辑:
为了澄清,此片段仅适用于所要求的字典词典。不是字典的字典.
因此,不要将其用于嵌套示例:)
https://stackoverflow.com/questions/35427814
复制相似问题