如果我创建一个包含列表这样的两个列表中:列表理解列表
bad_list.append(['blue_widget', 'cracked', '776'])
bad_list.append(['red_widget', 'not_smooth', '545'])
bad_list.append(['yellow_widget', 'spots', '35'])
bad_list.append(['green_widget', 'smells_bad', '10'])
bad_list.append(['purple_widget', 'not_really_purple', '10'])
good_list.append(['blue_widget', 'ok', '776'])
good_list.append(['red_widget', 'ok', '545'])
good_list.append(['green_widget', 'ok', '10'])
我很想能够在恶劣的使用列表中理解到两个列表比较,并删除 所有项目使用第一个元素 (x_widget)作为要比较的项目,将列表显示在良好列表中。使用上面的例子,我应该留下:
['yellow_widget', 'spots', '35']
['purple_widget', 'not_really_purple', '10']
我一直在使用列表理解试着和它的作品,但在新的列表不保留的每一行:当我使用内容打印出来
final_list = [x for x in bad_list[0] if x not in good_list[0]]
对于final_list中的项目我得到类似于:
yellow_widget
smells_bad
10
任何线索将不胜感激。
'bad_list [0 ]'和'good_list [0]'是列表的第一项,而不是冷杉t列。 - 我现在无法想象这样做。可能你必须使用常规的'for'循环。 –