집합 변환의 순서 변경
Python에서 목록을 집합으로 변환하면 요소의 순서가 수정되는 것처럼 보입니다. 목록은 요소의 순서를 유지하는 반면 세트는 순서가 지정되지 않은 데이터 구조이므로 이는 혼란스러울 수 있습니다. 이러한 불일치의 이유는 세트의 근본적인 특성에 있습니다.
세트는 효율적인 멤버십 테스트를 수행하도록 설계되었으며 요소의 삽입 순서를 유지하지 않습니다. 이는 집합이 내부적으로 해시 테이블로 표현되어 빠른 조회를 위해 요소가 스크램블 방식으로 저장되기 때문입니다.
순서를 유지하는 방법
보존이 필요한 경우 데이터 수집 순서에 따라 다음을 사용하는 것에 대한 몇 가지 대안이 있습니다. 세트:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!