> 백엔드 개발 > 파이썬 튜토리얼 > 요소의 원래 순서를 유지하면서 집합 작업을 수행하려면 어떻게 해야 합니까?

요소의 원래 순서를 유지하면서 집합 작업을 수행하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-16 16:41:10
원래의
248명이 탐색했습니다.

How Can I Perform Set Operations While Preserving the Original Order of Elements?

집합 연산 및 순서 보존

목록을 집합으로 변환할 때 집합은 빠른 우선순위를 갖는 정렬되지 않은 데이터 구조이기 때문에 요소 순서가 변경됩니다. 회원 테스트. 원래 삽입 순서를 유지하지 않습니다.

집합 연산의 순서 유지

초기 순서를 잃지 않고 집합 연산을 수행하려면 다음 옵션을 고려하세요.

1. 집합 차이에 대한 List Comprehension

일반 목록이 있고 순서를 유지하면서 요소 집합을 제거해야 하는 경우 List Comprehension을 사용하세요.

a = [1, 2, 20, 6, 210]
b = set([6, 20, 1])
[x for x in a if x not in b]  # [2, 210]
로그인 후 복사

2 . 순서 집합의 사전 키

빠른 멤버십 테스트와 삽입 순서 보존이 포함된 데이터 구조를 위해 Python 사전의 키를 사용하세요(Python 3.7부터 시작).

a = dict.fromkeys([1, 2, 20, 6, 210])
b = dict.fromkeys([6, 20, 1])
dict.fromkeys(x for x in a if x not in b)  # {2: None, 210: None}
로그인 후 복사

3. Collections.OrderedDict(레거시 지원)

이전 Python 버전의 경우 collections.OrderedDict:

a = collections.OrderedDict.fromkeys([1, 2, 20, 6, 210])
b = collections.OrderedDict.fromkeys([6, 20, 1])
collections.OrderedDict.fromkeys(x for x in a if x not in b)  # OrderedDict([(2, None), (210, None)])
로그인 후 복사
를 사용하세요.

위 내용은 요소의 원래 순서를 유지하면서 집합 작업을 수행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿