17_컬렉션
:2018-11-05
:
모으다
컬렉션은 목록과 비슷하지만 다른 점은 다음과 같습니다.
컬렉션 작성
중괄호
{ }
로 컬렉션을 만들려면 다음과 같이 하십시오.s = {10, 2, 2, 2, 2, 2}
print(s, type(s))
위에서 같은 집합 요소
2
는 제거되고 하나2
만 보존되며 인쇄 결과는 다음과 같다.{10, 2}
컬렉션에서는 가변 객체가 있을 수 없습니다. 예를 들어, 다음 표기법은 오류를 보고합니다.
s = {[1, 2, 3], [4, 5, 6]} # TypeError: unhashable type: 'list'
또한
set()
방법으로 컬렉션을 생성할 수도 있습니다.s = set() #
s = set([1, 2, 3, 2, 3, 5]) #
print(s)
s = set('hello') #
print(s)
s = set({'a': 1, 'b': 2}) # set() , ,
print(s)
위 코드, 인쇄 결과는 다음과 같습니다.
{1, 2, 3, 5}
{'h', 'o', 'l', 'e'}
{'b', 'a'}
컬렉션은 순서가 없으며 직접 인덱싱할 수 없습니다.
s = {'b', 'a', 1, 2, 30}
print(s, type(s))
# print(s[0]) # ,
print(list(s)[0]) # list , ,
2. 관련 조작 집합
요소 검사
in
또는 not in
키워드를 사용하여 집합 중의 원소의 존재 상황을 검사할 수 있습니다.예를 들면 다음과 같습니다.s = {'b', 'a', 1, 2, 30}
print('c' in s)
print('c' not in s)
문자c
가 컬렉션s
에 없는 경우 False
및 True
를 반환하고 인쇄 결과는 다음과 같습니다.False
True
요소 추가(add)
add()
방법을 사용하여 컬렉션에 요소를 추가합니다.s = {1, 2, 7}
s.add(4)
print(s)
위 코드, 인쇄 결과는 다음과 같습니다.{1, 2, 4, 7}
컬렉션 추가(update)
update()
방법으로 집합의 원소를 현재 집합에 추가할 수 있습니다.예를 들면 다음과 같습니다.s1 = set('hello')
s2 = set([1, 2, 3, 4])
s1.update(s2)
print(s1)
위에서 s2의 요소를 s1에 추가하면 인쇄 결과는 다음과 같습니다.{1, 'l', 'e', 2, 3, 4, 'o', 'h'}
요소 무작위 삭제(pop)
pop()
방법을 사용하여 컬렉션의 요소를 임의로 삭제하고 삭제된 요소를 반환할 수 있습니다.s = {1, 2, 3, 4}
result = s.pop()
print(result)
print(s)
집합이 비어 있으면 프로그램에서 이상을 던집니다.위 코드 인쇄 결과는 다음과 같습니다.1
{2, 3, 4}
지정된 요소 삭제(remove)
remove()
방법을 사용하여 컬렉션에 지정된 요소를 제거합니다.s = {1, 2, 3, 4}
s.remove(2)
print(s)
집합 안에 있는 요소만 삭제할 수 있습니다. 그렇지 않으면 이상이 발생합니다.인쇄 결과는 다음과 같습니다.{1, 3, 4}
3. 집합 수학 연산
수학적으로 우리는 집합에 대해 연산을 진행할 수 있다.
교차 연산
기호&
를 사용하여 교차 연산을 수행합니다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 & s2
print(result)
교집 연산은 s1과 s2의 원래 값에 영향을 주지 않는다.인쇄 결과는 다음과 같습니다.{3, 4}
병렬 연산
기호|
를 사용하여 병렬 계산을 수행할 수 있습니다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 | s2
print(result)
인쇄 결과는 다음과 같습니다.{1, 2, 3, 4, 5, 6}
차집 연산
기호-
를 사용하여 차집합 연산을 수행할 수 있습니다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 - s2
print(result)
위에서 계산한 결과 s1에만 있고 s2에 없는 요소는 다음과 같다.{1, 2}
이차 혹은 집합 연산
두 집합에 모두 있는 원소를 제거하는 것을 이차 또는 집합 연산이라고 한다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 ^ s2
print(result)
위 코드의 인쇄 결과에는 두 컬렉션의 동일한 요소(즉 교차 부분의 요소)가 포함되지 않습니다.{1, 2, 5, 6}
서브셋 검사
먼저 이러한 수학 개념을 이해해야 한다.
만약에 a집합 중의 원소가 모두 b집합에 나타난다면 이 b집합은 a집합의 서브집합이고 b집합은 a집합의 초집합이다.
기호<=
를 사용하여 한 집합이 다른 집합의 서브집합인지 확인합니다.s1 = {1, 2, 3}
s2 = {1, 2, 3, 4, 5, 6}
print(s1 <= s2)
위의 인쇄 결과는 다음과 같습니다.True
기호>=
를 사용하여 한 집합이 다른 집합의 초집합인지 확인합니다.s2 = {1, 2, 3, 4, 5, 6}
s1 = {1, 2, 3}
print(s1 >= s2)
위의 인쇄 결과는 다음과 같습니다.True
수학적:
만약에 초집합 b에 서브집합 a의 모든 원소가 함유되어 있고 b에 a에 없는 원소가 있다면 b는 a의 진짜 초집합이고 a는 b의 진짜 서브집합이다.
기호<
를 사용하여 진짜 집합을 검사하고, >
를 사용하여 진짜 집합이 맞는지 검사한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
s = {'b', 'a', 1, 2, 30}
print('c' in s)
print('c' not in s)
False
True
s = {1, 2, 7}
s.add(4)
print(s)
{1, 2, 4, 7}
s1 = set('hello')
s2 = set([1, 2, 3, 4])
s1.update(s2)
print(s1)
{1, 'l', 'e', 2, 3, 4, 'o', 'h'}
s = {1, 2, 3, 4}
result = s.pop()
print(result)
print(s)
1
{2, 3, 4}
s = {1, 2, 3, 4}
s.remove(2)
print(s)
{1, 3, 4}
수학적으로 우리는 집합에 대해 연산을 진행할 수 있다.
교차 연산
기호
&
를 사용하여 교차 연산을 수행합니다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 & s2
print(result)
교집 연산은 s1과 s2의 원래 값에 영향을 주지 않는다.인쇄 결과는 다음과 같습니다.
{3, 4}
병렬 연산
기호
|
를 사용하여 병렬 계산을 수행할 수 있습니다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 | s2
print(result)
인쇄 결과는 다음과 같습니다.
{1, 2, 3, 4, 5, 6}
차집 연산
기호
-
를 사용하여 차집합 연산을 수행할 수 있습니다.s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 - s2
print(result)
위에서 계산한 결과 s1에만 있고 s2에 없는 요소는 다음과 같다.
{1, 2}
이차 혹은 집합 연산
두 집합에 모두 있는 원소를 제거하는 것을 이차 또는 집합 연산이라고 한다.
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
result = s1 ^ s2
print(result)
위 코드의 인쇄 결과에는 두 컬렉션의 동일한 요소(즉 교차 부분의 요소)가 포함되지 않습니다.
{1, 2, 5, 6}
서브셋 검사
먼저 이러한 수학 개념을 이해해야 한다.
만약에 a집합 중의 원소가 모두 b집합에 나타난다면 이 b집합은 a집합의 서브집합이고 b집합은 a집합의 초집합이다.
기호
<=
를 사용하여 한 집합이 다른 집합의 서브집합인지 확인합니다.s1 = {1, 2, 3}
s2 = {1, 2, 3, 4, 5, 6}
print(s1 <= s2)
위의 인쇄 결과는 다음과 같습니다.
True
기호
>=
를 사용하여 한 집합이 다른 집합의 초집합인지 확인합니다.s2 = {1, 2, 3, 4, 5, 6}
s1 = {1, 2, 3}
print(s1 >= s2)
위의 인쇄 결과는 다음과 같습니다.
True
수학적:
만약에 초집합 b에 서브집합 a의 모든 원소가 함유되어 있고 b에 a에 없는 원소가 있다면 b는 a의 진짜 초집합이고 a는 b의 진짜 서브집합이다.
기호
<
를 사용하여 진짜 집합을 검사하고, >
를 사용하여 진짜 집합이 맞는지 검사한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.