如果我明白你正在尝试,也许这样做将有助于
>>> tags
['0', '2', '1', '3', '4', '7', '2', '0', '1', '6', '3', '2', '8', '4', '1', '2', '0', '7', '5', '4', '1']
>>> classes
{'Tesla': 7, 'Nissan': 0, 'Honda': 5, 'Toyota': 6, 'Ford': 1, 'Mazda': 4, 'Ferrari': 2, 'Suzuki': 3}
tags
是一个列表的字符串,而不是整数 - 所以我们把它转换为一个整数列表。
>>> tags = map(int, tags)
classes
是一个字典映射汽车制造到整数,但我们希望使用的值作为查找。我们可以反转词典(SWAP键和值)
>>> classes_inverse = {v: k for k, v in classes.items()}
现在这是什么tags
和classes_inverse
样子
>>> tags
[0, 2, 1, 3, 4, 7, 2, 0, 1, 6, 3, 2, 8, 4, 1, 2, 0, 7, 5, 4, 1]
>>> classes_inverse
{0: 'Nissan', 1: 'Ford', 2: 'Ferrari', 3: 'Suzuki', 4: 'Mazda', 5: 'Honda', 6: 'Toyota', 7: 'Tesla'}
现在,我们可以收集逆字典的值列表中的每个项目。
>>> [classes_inverse.get(t, "No Match") for t in tags]
['Nissan', 'Ferrari', 'Ford', 'Suzuki', 'Mazda', 'Tesla', 'Ferrari', 'Nissan', 'Ford', 'Toyota', 'Suzuki', 'Ferrari', 'No Match', 'Mazda', 'Ford', 'Ferrari', 'Nissan', 'Tesla', 'Honda', 'Mazda', 'Ford']
尝试在if语句之前添加一行打印x,e。这将帮助您了解为什么比较不起作用。您可能希望在此分享您的输出摘录以获得帮助。 – gauden
你可以发布'class.items()'和'tags'的样本吗? –
@gauden 爵士我得到: 利物浦@甘道夫:〜/升/升$蟒蛇test.py 回溯(最近通话最后一个): 文件“的考验。PY” 57行,在 打印X,E NameError:名字‘E’是没有定义 因为变数e启动内第二‘for’循环 –
nainometer