如何使用关键字从python中的字典中计算项值

如何使用关键字从python中的字典中计算项值,python,dictionary,Python,Dictionary,我有一本字典,格式如下: folders = {'Master folder': ['Training'], 'Child folder': ['Training videos', 'Training documents', 'Training workouts', 'Training practicals']} 我想按如下所示计算这些值 count_of_masterfolder = 1 count_of_childfolder = 4 到目前为止,我做到了 co_master =

我有一本字典,格式如下:

folders = {'Master folder': ['Training'], 'Child folder': ['Training videos', 'Training documents', 'Training workouts', 'Training practicals']}
我想按如下所示计算这些值

count_of_masterfolder = 1
count_of_childfolder = 4
到目前为止,我做到了

    co_master = folders.items['Master folder']
    co_child = folders.items['Child folder']
    print(co_master, co_child)
我收到这个错误:

    co = folders.items['Master folder']
TypeError: 'builtin_function_or_method' object is not subscriptable

我该怎么办?

你可以试试听写理解:

{k: len(v) for k,v in folders.items()}
完整示例:

folders = {'Master folder': ['Training'], 'Child folder': [
    'Training videos', 'Training documents', 'Training workouts', 'Training practicals']}

print({k: len(v) for k,v in folders.items()})
# {'Master folder': 1, 'Child folder': 4}

当你只需要
len
函数就可以解决这个问题时,为什么需要复杂性呢

count_of_masterfolder = len(folders['Master folder'])
count_of_childfolder = len(folders['Child folder'])

您的意思是希望
count\u of_masterfolder=1
等作为程序的输出,还是希望将计数分配给变量

在前一种情况下,您可以使用如下内容:

for key, value in folder.items():
    print ("count of", key, "=", len(value))
在后一种情况下,以下内容适用于您的特定情况:

count_of_masterfolder = len(folder["Master folder"])
count_of_childfolder = len(folder["Child folder"])

这不是索引词典的方式-只需使用
文件夹[key]
items
是一个返回字典中所有键值对的视图对象/列表的函数。这不会返回我的值,正如我在预期部分中所说的,我需要将每个计数值存储在单独的变量中并打印正确!但我需要将每个计数存储在单独的variablescorrect中,但我需要将每个项的计数存储到单独的变量中。这可能吗?动态创建变量是一种糟糕的做法,因为很难理解、调试、维护和引入安全问题。字典回答了你的问题。你可以看看或者。
count_of_masterfolder = len(folder["Master folder"])
count_of_childfolder = len(folder["Child folder"])