如何使用 python 列表中的给定值生成 key:value 列表

How to generate a key:value list wih given values from a python list

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

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

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

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

提前致谢

一种方法是使用 zip

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

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

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

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

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'}