如何使用 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'}
我必须解决以下任务。首先,我使用 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'}