我有两个列表,用于组装第三个列表。我将list_one与list_two进行了比较,如果list_one中的某个字段的值位于list_two中,则两个来自list_two的值都将被复制到list_final中。如果一个字段的值从list_two中丢失,那么我希望看到一个空值(无)放入list_final中。 list_final将有相同数量的项目,并在相同的顺序list_one:Python 3二维列表理解
list_one = ['one', 'two', 'three', 'four', 'five', 'six', 'seven']
list_two = [['seven','7'], ['five','5'], ['four','4'], ['three','3'], ['one','1']]
list_final = []
list_final的值应为:
[['one','1'], [None,None], ['three','3'], ['four','4'], ['five','5'], [None,None], ['seven','7']]
我已经得到最接近的是:
list_final = [x if [x,0] in list_two else [None,None] for x in list_one]
但这只是填充list_final None
。我已经看了一些教程,但我似乎无法围绕这个概念包围我的大脑。任何帮助,将不胜感激。
'list_two'应该更好地(或转换成)一个字典,然后你做像'dict_two.get('七')''获得''7'这使得列表理解更容易 –