ネストされたリストから一意のデータを抽出したいのですが、下記を参照してください。私はこれの2つの方法を実装しました。最初のものはうまくいくが、もう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'に割り当てられます。 –
オリジナルのバージョンを使用してください...それはあなたがそれを修正する方法です。 –
'new_dataにはありません'をテストするときは、 'new_data'には何もありません。リストの解説は完了するまで実行されてから、代入演算子に戻り、結果を 'new_data'に保存します。 – Aaron