セット変換における順序の変更
Python でリストをセットに変換すると、要素の順序が変更されるように見えます。リストは要素の順序を維持しますが、セットは順序付けされていないデータ構造であるため、これは不可解になる可能性があります。この不一致の理由は、セットの基本的な性質にあります。
セットは、効率的なメンバーシップ テストを実行するように設計されており、要素の挿入順序は保持しません。これは、セットが内部的にハッシュ テーブルとして表され、検索を高速化するために要素がスクランブルされた方法で保存されるためです。
順序を保持する方法
保持が必要な場合データ収集の順序に従って、使用する代わりにいくつかの方法があります。 set:
B = set([6, 20, 1]) result = [x for x in A if x not in B]
import collections A = collections.OrderedDict.fromkeys([1, 2, 20, 6, 210]) B = collections.OrderedDict.fromkeys([6, 20, 1]) result = collections.OrderedDict.fromkeys(x for x in A if x not in B)
以上がリストをセットに変換すると順序が変わるのはなぜですか? 順序を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。