私はPythonのリストから重複を取り除く関数を書こうとしていました。リストを変換するときにセットが順序付けされるのはなぜですか?
私はこれを行った後、リストをセットに変換してリストに戻してソートしていました。
>>> l = [9,10,10,11,1,1,1,22,2,2,2]
>>> s = set(l)
>>> s
set([1, 2, 9, 10, 11, 22])
>>> l2 = list(s)
>>> l2
[1, 2, 9, 10, 11, 22]
>>> l2 = list(set(l))
>>> l2
[1, 2, 9, 10, 11, 22]
>>>
セットs
(それを印刷するときに、少なくとも注文)注文される:ここでは
は、スクリプトがあります。
セットが注文されるのはなぜですか?私はこれを実行することにより、重複を削除する場合
そして、何が時間複雑です:
def remove_duplicates(nums):
return list(set(nums))
は、簡単に言えば
もO(n)は、このイディオムを使用して、任意の順序を克服するために。 – TigerhawkT3list(collections.OrderedDict.fromkeys(data))
を:: 'set'オブジェクトを任意に並べられ@ TigerhawkT3閉鎖にあまり積極的にしないでください。ちょうど任意のセット注文よりも多くのことがあります。 –
'set_l = [l.index(x)== iなら列挙する(i、x)のx]' –