Python - 解压名称元组列表

Python - unpacking a list of nametuples

我正在使用 psutil.users() 来获取引用系统上每个用户的命名元组列表。我正在尝试制作仅包含名称和终端类型的字典,而我正在丢弃其余部分。当我这样做时:

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

我只得到一个用户,不能同时得到两个。我知道那里有两个,因为我可以打印 psutil.users() 并看到它们。我看不出我做错了什么,所以我做了:

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

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

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