모음
세트 해시 소자 (불변 식)의 내부에 정렬되지 않은 고유 데이터 세트이지만 해시 자체 (이것은 사전 설정된 결합되지 않음)으로 설정되지 않는다. 다음은 가장 중요한 포인트의 모음입니다 :
디엠 퍼시스가, 목록이 수집되고, 자동으로 무거운 이동합니다.
관계 테스트, 테스트 데이터, 가난, 노동 조합 및 기타 관계의 두 집합의 교집합 전에.
도 1을 참조하면, 모음을 생성한다.
SET1 = 집합 ({1,2, 배리 '}) SET2 = {1,2, 배리'} 인쇄 (SET1, SET2) # {1, 2, 배리 '} {1, 2, 배리'}
도 2를 참조하면, 모음을 증가시킨다.
set1.add ( '보기 여신') 인쇄 (SETL) #UPDATE : 반복 증가 set1.update ( 'A') 인쇄 (SETL) set1.update ( '교사') 인쇄 (SETL) . set1.update ([1, 2, 3) 인쇄 (SET1)
3, 컬렉션을 삭제합니다.
= {SETL '알렉스', 'wusir은', 'ritian은', '에곤은', '배리'} set1.remove ( '알렉스') #은 요소의 제거 인쇄 (SETL) set1.pop () #은 임의의 요소 삭제 인쇄 (SET1) set1.clear ()의 # 빈 세트 인쇄 (SET1)를 델 SET1 번호 수집 삭제 인쇄 (SET1를)
동작 4, 다른 세트 :
4.1 교차. (또는 교차)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 & SET2) # {4,5} 인쇄 (set1.intersection (SET2)) {# 4 5}
4.2 조합. (| 또는 조합)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 | SET2) # {1, 2, 3, 4, 5, 6, 7, 8}
인쇄 (set2.union (SET1)) # {1, 2, 3, 4, 5, 6, 7, 8}
차이는 4.3으로 설정. (- 또는 차)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 - SET2) # {1, 2, 3} 인쇄 (set1.difference (SET2)) # {1, 2, 3}
4.4 안티 교차로. (^ 또는의 symmetric_difference)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 ^ SET2) # {1, 2, 3, 6, 7, 8} 인쇄 (SET1. symmetric_difference (SET2)) {# 1, 2, 3, 6, 7, 8}
4.5 서브셋 수퍼
L은 2,3- = {} SET1 SET2 = {1,2,3,4,5,6} 인쇄 (SET1 <SET2) 인쇄 (set1.issubset (SET2)) # 1 개의 동일한 기재되어있다 SET1 설정 2 부분 집합. 인쇄 (SET2> SET1) 인쇄 (set2.issuperset (SET1)) # 개의 동일한, 설명 SET1 SET2가 상위이다.
5 불변 모음 frozenset 때문에 내용물 불변 종류가된다.
S = frozenset (배리 ') 인쇄 (S, 입력 (들))의 # frozenset ({'A ','Y ','B ','R '}) <클래스'frozenset '>
둘째, 깊이를 복사
1, 할당 연산자 봐.
L1 = [1,2,3 [배리 ','알렉스 '] L2 = L1 L1 [0] = 111 인쇄 (L1) # [111, 2, 3, [배리', '알렉스'] 인쇄 (L2) # [111, 2, 3, [배리 ','알렉스 '] (L1) [3] [0] = "wusir" 인쇄 (L1) # [111, 2, 3, ['wusir ' 알렉스 '] 인쇄 (L2) # [111, 2, 3, ['wusir ','알렉스 ']
할당 연산자는 동일한 메모리 주소로, L1과 L2 점, 그래서 그들은 정확히 동일 들어.
2, 얕은 복사 사본.
L1 = [1,2,3 [배리 ','알렉스 ']
L2 = l1.copy () 인쇄 (L1, ID (L1)) # [1, 2, 3, [배리', '알렉스 '] 2,380,296,895,816 인쇄 (L2, ID (L2)) # [1, 2, 3, [배리', '알렉스'] 2,380,296,895,048
L1 [1] = 222
인쇄 (L1, ID (L1)) # [1, 222, 3, [배리 ','알렉스 '] 2,593,038,941,128
인쇄 (L2, ID (L2)) # [1,2,3 [배리 ','알렉스 '] 2,593,038,941,896
L1 [3] [0] = "wusir" 인쇄 (L1, ID (L1 [3])) # [1, 2, 3, [ 'wusir', '알렉스'] 1,732,315,659,016 인쇄 (L2, ID (L2 [ 3])) # [1, 2, 3, [ 'wusir', '알렉스'] 1,732,315,659,016
얕은 사본 새로운 메모리 어드레스를 생성하는 제 1 층은, 처음부터 제 층 중에, 상기 제 층과 깊은 층의 일관성을 위해, 동일한 메모리 어드레스에 대한 포인트이므로 .
3, 깊은 복사 deepcopy.
수입 복사 L1 = [1,2,3 [배리 ','알렉스 '] L2 = copy.deepcopy (L1) 인쇄 (L1, ID (L1)) # [1, 2, 3, [배리' '알렉스'] 2,915,377,167,816 인쇄 (L2, ID (L2)) # [1, 2, 3, [배리 ','알렉스 '] 2,915,377,167,048 L1 [1] = 222 인쇄 (L1, ID (L1)) # [1, 222, 3, [배리 ','알렉스 '] 2,915,377,167,816 인쇄 (L2, ID (L2)) # [1, 2, 3, [배리', '알렉스'] 2,915,377,167,048 L1 [3 ] [0] = "wusir" 인쇄 (L1, ID (L1 [3])) #의 [1, 222, 3, [ 'wusir', '알렉스'] 2,915,377,167,240 인쇄 (L2, ID (L2 [3]) ) # [1, 2, 3, [배리 ','알렉스 '] 2,915,377,167,304
전체 복사를 들어, 두 개의 완전히 분리되어, (아무리 많은 레이어), 다른 하나는 절대적으로 변경되지 않습니다 중 하나의 요소를 변경하지 않습니다.
세트 해시 소자 (불변 식)의 내부에 정렬되지 않은 고유 데이터 세트이지만 해시 자체 (이것은 사전 설정된 결합되지 않음)으로 설정되지 않는다. 다음은 가장 중요한 포인트의 모음입니다 :
디엠 퍼시스가, 목록이 수집되고, 자동으로 무거운 이동합니다.
관계 테스트, 테스트 데이터, 가난, 노동 조합 및 기타 관계의 두 집합의 교집합 전에.
도 1을 참조하면, 모음을 생성한다.
SET1 = 집합 ({1,2, 배리 '}) SET2 = {1,2, 배리'} 인쇄 (SET1, SET2) # {1, 2, 배리 '} {1, 2, 배리'}
도 2를 참조하면, 모음을 증가시킨다.
set1.add ( '보기 여신') 인쇄 (SETL) #UPDATE : 반복 증가 set1.update ( 'A') 인쇄 (SETL) set1.update ( '교사') 인쇄 (SETL) . set1.update ([1, 2, 3) 인쇄 (SET1)
3, 컬렉션을 삭제합니다.
= {SETL '알렉스', 'wusir은', 'ritian은', '에곤은', '배리'} set1.remove ( '알렉스') #은 요소의 제거 인쇄 (SETL) set1.pop () #은 임의의 요소 삭제 인쇄 (SET1) set1.clear ()의 # 빈 세트 인쇄 (SET1)를 델 SET1 번호 수집 삭제 인쇄 (SET1를)
동작 4, 다른 세트 :
4.1 교차. (또는 교차)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 & SET2) # {4,5} 인쇄 (set1.intersection (SET2)) {# 4 5}
4.2 조합. (| 또는 조합)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 | SET2) # {1, 2, 3, 4, 5, 6, 7, 8}
인쇄 (set2.union (SET1)) # {1, 2, 3, 4, 5, 6, 7, 8}
차이는 4.3으로 설정. (- 또는 차)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 - SET2) # {1, 2, 3} 인쇄 (set1.difference (SET2)) # {1, 2, 3}
4.4 안티 교차로. (^ 또는의 symmetric_difference)
SET1 = {1,2,3,4,5} SET2 = {4,5,6,7,8} 인쇄 (SET1 ^ SET2) # {1, 2, 3, 6, 7, 8} 인쇄 (SET1. symmetric_difference (SET2)) {# 1, 2, 3, 6, 7, 8}
4.5 서브셋 수퍼
L은 2,3- = {} SET1 SET2 = {1,2,3,4,5,6} 인쇄 (SET1 <SET2) 인쇄 (set1.issubset (SET2)) # 1 개의 동일한 기재되어있다 SET1 설정 2 부분 집합. 인쇄 (SET2> SET1) 인쇄 (set2.issuperset (SET1)) # 개의 동일한, 설명 SET1 SET2가 상위이다.
5 불변 모음 frozenset 때문에 내용물 불변 종류가된다.
S = frozenset (배리 ') 인쇄 (S, 입력 (들))의 # frozenset ({'A ','Y ','B ','R '}) <클래스'frozenset '>
둘째, 깊이를 복사
1, 할당 연산자 봐.
L1 = [1,2,3 [배리 ','알렉스 '] L2 = L1 L1 [0] = 111 인쇄 (L1) # [111, 2, 3, [배리', '알렉스'] 인쇄 (L2) # [111, 2, 3, [배리 ','알렉스 '] (L1) [3] [0] = "wusir" 인쇄 (L1) # [111, 2, 3, ['wusir ' 알렉스 '] 인쇄 (L2) # [111, 2, 3, ['wusir ','알렉스 ']
할당 연산자는 동일한 메모리 주소로, L1과 L2 점, 그래서 그들은 정확히 동일 들어.
2, 얕은 복사 사본.
L1 = [1,2,3 [배리 ','알렉스 ']
L2 = l1.copy () 인쇄 (L1, ID (L1)) # [1, 2, 3, [배리', '알렉스 '] 2,380,296,895,816 인쇄 (L2, ID (L2)) # [1, 2, 3, [배리', '알렉스'] 2,380,296,895,048
L1 [1] = 222
인쇄 (L1, ID (L1)) # [1, 222, 3, [배리 ','알렉스 '] 2,593,038,941,128
인쇄 (L2, ID (L2)) # [1,2,3 [배리 ','알렉스 '] 2,593,038,941,896
L1 [3] [0] = "wusir" 인쇄 (L1, ID (L1 [3])) # [1, 2, 3, [ 'wusir', '알렉스'] 1,732,315,659,016 인쇄 (L2, ID (L2 [ 3])) # [1, 2, 3, [ 'wusir', '알렉스'] 1,732,315,659,016
얕은 사본 새로운 메모리 어드레스를 생성하는 제 1 층은, 처음부터 제 층 중에, 상기 제 층과 깊은 층의 일관성을 위해, 동일한 메모리 어드레스에 대한 포인트이므로 .
3, 깊은 복사 deepcopy.
수입 복사 L1 = [1,2,3 [배리 ','알렉스 '] L2 = copy.deepcopy (L1) 인쇄 (L1, ID (L1)) # [1, 2, 3, [배리' '알렉스'] 2,915,377,167,816 인쇄 (L2, ID (L2)) # [1, 2, 3, [배리 ','알렉스 '] 2,915,377,167,048 L1 [1] = 222 인쇄 (L1, ID (L1)) # [1, 222, 3, [배리 ','알렉스 '] 2,915,377,167,816 인쇄 (L2, ID (L2)) # [1, 2, 3, [배리', '알렉스'] 2,915,377,167,048 L1 [3 ] [0] = "wusir" 인쇄 (L1, ID (L1 [3])) #의 [1, 222, 3, [ 'wusir', '알렉스'] 2,915,377,167,240 인쇄 (L2, ID (L2 [3]) ) # [1, 2, 3, [배리 ','알렉스 '] 2,915,377,167,304
전체 복사를 들어, 두 개의 완전히 분리되어, (아무리 많은 레이어), 다른 하나는 절대적으로 변경되지 않습니다 중 하나의 요소를 변경하지 않습니다.