不确定标题是否足够具体。
words = ['sense', 'The', 'makes', 'sentence', 'perfect', 'sense', 'now']
numbers = ['1', '2', '3', '4', '5', '6']
dictionary = dict(zip(numbers, words))
print(dictionary)
correctorder = ['2', '4', '7', '3', '5', '6']
我只想弄清楚我是如何使用校正器数组从字典中打印特定值的,这样句子才有意义。
答案 0 :(得分:2)
您可以迭代correctorder
并获取相应的dict值,然后将结果连接在一起。
' '.join(dictionary[ele] for ele in correctorder)
这假设您在最后修改numbers
以包含'7'
。
>>> ' '.join(dictionary[ele] for ele in correctorder)
'The sentence now makes perfect sense'
答案 1 :(得分:0)
你想要的是这个。
for i in correctorder:
print dictionary[i]," ",
简短而简单。正如米奇所说,虽然修复了7。
答案 2 :(得分:0)
您可以使用operator.itemgetter
来避免显式循环:
>>> from operator import itemgetter
>>> print(itemgetter(*correctorder)(dictionary))
要连接这个,只需使用str.join
:
>>> ' '.join(itemgetter(*correctorder)(dictionary))