Python - 解压缩名称列表

时间:2016-01-18 07:59:03

标签: python dictionary-comprehension psutil

我正在使用psutil.users()来获取引用系统上每个用户的namedtuples列表。我正在尝试制作一个只有名称和终端类型的字典,我正在查看其余部分。当我这样做时:

{user.name:user.terminal for user in psutil.users()}

我只获得其中一个用户,而不是两个用户。我知道有两个因为我可以打印psutil.users()并看到它们。我无法看到我做错了所以我做了:

for user in psutil.users():
    print user.name
    print user.terminal

并且它按预期工作。但我的dict理解版本没有。我看不出我做错了什么。

1 个答案:

答案 0 :(得分:0)

在您的情况下,两个用户名可能都相同,而在字典中我们需要具有唯一键。这就是为什么你的代码中只有一个键值对。