1
我想從嵌套列表中提取唯一數據,請參見下文。我實現了這兩種方式。第一個工作正常,但第二個失敗。計算過程中new_data
是否爲空?我該如何解決它?在Python中從嵌套列表中提取唯一列表
data = [
['a', 'b'],
['a', 'c'],
['a', 'b'],
['b', 'a']
]
# working
new_data = []
for d in data:
if d not in new_data:
new_data.append(d)
print(new_data)
# [['a', 'b'], ['a','c'], ['b','a']]
# Failed to extract unique list
new_data = []
new_data = [d for d in data if d not in new_data]
print(new_data)
# [['a', 'b'], ['a', 'c'], ['a', 'b'], ['b', 'a']]
是,'new_data'列表的執行過程中是空的理解,其結果在執行後分配給'new_data'。 –
只需使用您的原始版本...這就是你如何解決它。 –
當你測試:'if d not in new_data'時,'new_data'中沒有任何東西。列表解析運行完成,然後繼續賦值運算符以將結果保存回'new_data' – Aaron