如何使用字典打印其合作伙伴值

时间:2017-02-17 19:10:27

标签: python dictionary

不确定标题是否足够具体。

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']

我只想弄清楚我是如何使用校正器数组从字典中打印特定值的,这样句子才有意义。

3 个答案:

答案 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))