【问题标题】:How to generate a key:value list wih given values from a python list如何从 python 列表中生成具有给定值的键:值列表
【发布时间】:2018-10-15 13:23:25
【问题描述】:

我必须解决以下任务。首先,我使用 pyscard(与智能卡交互的 python 模块)来查询连接到主机的智能卡读卡器。这很好用,并为我提供了已连接读者的列表。

为了使这个列表可以通过 facter 提供给 puppet,我需要 key:value 形式的列表,我可以使用 json.dumps(list) 进行转换并通过自定义事实使用它。

实际的问题是:如何将键 (0..8) 添加到 pyscard 列表中的给定值。

最后,输出应该类似于 Reader 0:REINER SCT cyberJack ecom_a (0856136421) 00 00

提前致谢

【问题讨论】:

    标签: python puppet facter


    【解决方案1】:

    使用字典理解将列表转换为字典。

    lis = ["reader one", "reader two", "reader three"]
    d={'reader '+str(k):v for k,v in enumerate(lis)}
    

    输出:

    {'reader 0': 'reader one',
     'reader 1': 'reader two',
     'reader 2': 'reader three'}
    

    【讨论】:

      【解决方案2】:

      一种方法是使用zip

      >>> l0 = ["reader one", "reader two", "reader three"]

      >>> dict(zip(range(len(l0)),l0))

      {0: 'reader one', 1: 'reader two', 2: 'reader three

      【讨论】:

      • 这是enumerate() 所做的(反转键和值)
      • true,则可以使用dict(enumerate(l0))
      • 所有答案都有效。所以谢谢大家在这里回答我的第一个问题:-)
      猜你喜欢
      • 2021-08-04
      • 2021-11-24
      • 1970-01-01
      • 2018-07-14
      • 2011-01-30
      • 2021-12-06
      • 1970-01-01
      • 2012-12-31
      • 2012-08-05
      相关资源
      最近更新 更多