2017-01-31 18 views
0

私は巨大なpythonリストを持っています。約100 MBのサイズと文字列と整数があります。私はトリプルクリティカルと重複していくつかの文字列を持っています。私はこのコードで重複を削除しようとしています巨大なpythonリストで重複を削除する方法

from collections import OrderedDict 

duplicates = [.......large size list of 100 MB....] 

remove = OrderedDict.fromkeys(duplicates).keys() 

print remove 

この大規模なリストと、それは一日私を取ったし、まだ行っていないです、私は小さいサイズのリストを行っている、それは良い作品。どのようにこれを分で行うことができるかについての提案。..より少ないhrs ??。私はUbuntuにCUDAインストールを試してみましたが、エラーが発生し続けています。here

+0

重複するものをすべて削除するか、*その他のもののみを削除することを意味しますか?私は '[a、b、a、c、a]'をあなたに与えてください。 '[a、b、c]'や '[b、c]'を使いますか? –

+0

これは、リスト上でやりたがっているような奇妙な操作のようです。 'list'を使用してもよろしいですか?異なるデータ構造(セットなど)を使用する場合、この種の操作は簡単です。 – Kevin

+0

@willemもし私が['a'、 'b'、 'a'、 'c'] 'を持っていれば、私は[' a '、' b '、' c ']としたい。 – wakamdr

答えて

0

これが十分に効率的かどうかはわかりませんが、解決する簡単な方法はリストをセットにキャストすることです。

def unique(objects): 
    return list(sorted(set(objects))) 
+0

まだデータの処理が遅い – wakamdr

関連する問題