Python中的动态字典

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

Potkhon vz.4.2

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

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

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

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

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

在key_list中打印(x)for x

我收到语法错误。

python dictionary
1个回答
2
投票

这被称为字典理解

它是在python 2.7中引入的

见:https://docs.python.org/2/tutorial/datastructures.html#dictionaries

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

但是你是对的,你不能只写任意代码并期望它工作

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

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