Python中的动态字典

时间:2015-05-06 23:54:29

标签: python dictionary

Python v3.4.2

我已经从密钥列表创建了一个字典,并存储了密钥出现的次数。

我的代码按预期工作,但我不确定为什么它有效:

count_dict = {key:key_list.count(key)for key_list}

我看到对于key_list中的每个键,我将'key'和'count'值对添加到字典中。但为什么这种语法有效呢?我希望需要声明一个空字典,然后在for..in ..循环中添加键值对。

它似乎也适用于列表。但是,当我尝试以下内容时:

在key_list中打印(x)for x

我收到语法错误。

1 个答案:

答案 0 :(得分:2)

这被称为词典理解

它是在python 2.7中引入的

请参阅:https://docs.python.org/2/tutorial/datastructures.html#dictionaries

还有设置理解,列表推导,生成器语句......

但是你是对的,你不能只编写任意代码并希望它能够正常工作

print(x) for x in key_list确实是语法错误