【问题标题】:Python - unpacking a list of nametuplesPython - 解压名称元组列表
【发布时间】:2016-01-18 07:59:02
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 确保每次用户名都是唯一的。您的情况可能只有一个唯一键。
  • 呸,你是对的——我忘了​​这两个用户的名字是一样的(虽然终端类型不同)。太简单了,我看不到;)谢谢。

标签: python dictionary-comprehension psutil


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-08-26
    • 1970-01-01
    • 2014-07-13
    • 2014-01-05
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 2019-11-19
    相关资源
    最近更新 更多