如果我創建一個包含列表這樣的兩個列表中:列表理解列表
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'循環。 –