如何匹配2个不同列表之间的项目

时间:2016-09-03 18:20:35

标签: python list python-2.7 python-3.x

我有两个不同的列表:

['2', '1']
['equals', 'x']

我想匹配项目2 =“等于”和1 =“x”以便重新创建原始句子“x equals x”,我还有第三个列表:

['1', '2', '1']

我需要第三个列表来重新创建原始句子,因为它具有所有位置,为此我想到使数字等于1 =“x”这样的单词并打印数字列表以便有完整的句子。问题是我不知道如何使数字等于单词。感谢您的帮助

1 个答案:

答案 0 :(得分:1)

字典可能就是您需要将键映射到值的字典。您可以通过压缩它们从前两个列表创建字典。使用这本词典,将任何数字列表映射到单词应该是相当简单的:

mapping = dict(zip(['2', '1'], ['equals', 'x']))

mapping
# {'1': 'x', '2': 'equals'}

[mapping.get(num) for num in ['1', '2', '1']]
# ['x', 'equals', 'x']

要将列表设为句子,请使用join方法:

" ".join(mapping.get(num) for num in ['1', '2', '1'])
# 'x equals x'