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
我收到语法错误。
答案 0 :(得分:2)
这被称为词典理解
它是在python 2.7中引入的
请参阅:https://docs.python.org/2/tutorial/datastructures.html#dictionaries
还有设置理解,列表推导,生成器语句......
但是你是对的,你不能只编写任意代码并希望它能够正常工作
即print(x) for x in key_list
确实是语法错误