【发布时间】:2019-12-13 06:40:14
【问题描述】:
如何通过分别比较索引 2 和 3 处的值将 python 列表转换为字典
['Tunnel0', 'up', 'up'] --> {'Tunnel0':'1'}
['Tunnel0', 'up', 'down']--> {'Tunnel0':'0'}
['Tunnel0', 'down', 'down']--> {'Tunnel0':'0'}
['Tunnel0', 'down', 'up']--> {'Tunnel0':'0'}
非常感谢任何帮助?
这是我尝试过的
a = ['Tunnel0', 'up', 'up']
TunnelStatus = {i:1 if a[1]==a[2] else 0 for i in a }
print(TunnelStatus)
>>>{'Tunnel0': 1, 'up': 1}
b = ['Tunnel0', 'up', 'down']
TunnelStatus = {i: 1 if b[1]==b[2] else 0 for i in b }
print(TunnelStatus)
>>>{'Tunnel0': 0, 'up': 0, 'down': 0}
【问题讨论】:
-
如果您知道列表中始终存在三元素,则不必使用字典理解
-
是每个列表只有一个条目还是有
['tunnel0','up,'up','tunnel1','up,'down']之类的列表? -
TunnelStatus = {a[0]:1 if a[1]==a[2]=='up' else 0}
标签: python list-comprehension dictionary-comprehension