IDAX = [3, 8, 10, 12]
AXID = [3, 5, 6, 8, 10, 12]
BT = [1, 1, 1, 1, 0, 0]
BT = [str(x) for x in BT]
AX_BR = dict(zip(AXID, BT))
结果:
{3: '1', 5: '1', 6: '1', 8: '1', 10: '0', 12: '0'}
现在我希望IDAX中的每个元素都具有正确的BT值。
如何搜索dictonary中的元素?
谢谢!
答案 0 :(得分:2)
您使用列表var名称与迭代var名称相同。
>>> IDAX = [3, 8, 10, 12]
>>> AXID = [3, 5, 6, 8, 10, 12]
>>> BT = [1, 1, 1, 1, 0, 0]
>>> BT = [str(x) for x in BT]
>>> AX_BR = dict(zip(AXID, BT))
>>> print AX_BR
{3: '1', 5: '1', 6: '1', 8: '1', 10: '0', 12: '0'}
>>> {i: AX_BR[i] for i in IDAX}
{3: '1', 8: '1', 10: '0', 12: '0'}
答案 1 :(得分:0)
无需绕过字典;你想要的是非常基本的字典用法:
>>> BT[8]
'1'
或者,如果您的意思是想要一对配对列表(IDAX,BT):
[(idax, BT[idax]) for idax in IDAX]
答案 2 :(得分:-1)
我认为我用循环解决了这个问题。
j = []
for i in range(len(IDAX)):
j += AX_BR[(IDAX[i])]
print(j)
可能不是最好的解决方案,但它有效。