📌
##### set : 중복 불가. 집합을 표현하는 객체. {}로 표현함.
set1 = {30,10,20,10}
# 10 요소는 한개만 출력됨. 순서지정 안됨.
print(set1) # 결과 -> {10, 20, 30}
print(set1[0]) # 순서지정이 안되므로 인덱스(첨자)사용 불가.
# 집합 구현하기
set1 = {1,2,3,4,5,6}
set2 = {1,2,3,4,5,1,2,3,4,5}
print(set1)
print(set2)
set3 = {5,6,7,8}
# 교집합 : 두개의 집합에 공통 요소들
print("set1과 set2의 교집합 요소:",set1 & set2)
print("set1과 set3의 교집합 요소:",set1 & set3)
print("set1과 set3의 교집합 요소:",set1.intersection(set3)) # 교집합 함수
# 합집합 : 두개의 집합에 속한 모든 요소들
print("set1과 set2의 합집합 요소:",set1 | set2)
print("set1과 set3의 합집합 요소:",set1 | set3)
print("set1과 set3의 합집합 요소:",set1.union(set3))
### comprehension(컴프리핸션) 방식으로 Collection 객체 생성
# 규칙성이 있는 데이터를 Collection 객체의 요소로 저장하는 방식
# numbers 리스트 : 1 ~ 10까지의 데이터 저장
##1 값을 대입
numbers = [1,2,3,4,5,6,7,8,9,10]
print(numbers)
##2 반복문 이용
numbers = []
for n in range(1,11) : # 1 ~ 10
numbers.append(n)
print(numbers)
##3 컴프리핸션 이용
numbers = [x for x in range(1,11)]
print(numbers)
# numbers 리스트 : 2 ~ 20 까지의 짝수 데이터 저장
#1
numbers = [x*2 for x in range(1,11)]
print(numbers) # 결과 -> [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
#2
numbers = [x for x in range(2,21,2)]
print(numbers) # 결과 -> [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
#3
numbers = [x for x in range(1,21) if x%2 == 0]
print(numbers) # 결과 -> [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
❓
# 문제 : 1~20 까지의 수 중 2의 배수와 3의 배수만을 nums리스트에
# 데이터로 저장하기
nums = [x for x in range(1,21) if (x%2 == 0)or (x%3 == 0) ]
print(nums)
# 두개의 리스트 데이터를 각각 한개씩 튜플로 생성하고,
# 튜플을 리스트로 생성하기
clist = ['black','white']
slist = ['S','M','L']
# 결과 -> [(black,S),(black,M),(black,L),(white,S),(white,M),(white,L)]
#1 반복문 이용
dlist = []
for c in clist : #'black','white'
for s in slist : # 'S','M','L'
dlist.append((c,s)) # 튜플 객체 생성
print(dlist)
#2 컴프리핸션 방식
dlist = [(c,s) for c in clist for s in slist]
print(dlist)
dlist = list((c,s) for c in clist for s in slist)
print(dlist)
# 두개의 리스트 데이터를 각각 한개씩 리스트로 생성하고,
# 리스트를 리스트로 생성하기
dlist = [[c,s] for c in clist for s in slist]
print(dlist)
# 1~10 사이의 짝수의 제곱값을 가진 set 객체 생성하기
set1 = {x*x for x in range(1,11) if x%2 == 0}
print(set1) # 결과 -> {64, 100, 4, 36, 16}
set1 = {x*x for x in range(2,11,2)}
print(set1)
'수업(국비지원) > Python' 카테고리의 다른 글
| [Python] 전역변수, 지역변수 (0) | 2023.04.24 |
|---|---|
| [Python] 함수 (0) | 2023.04.24 |
| [Python] 컬렉션 - tuple (0) | 2023.04.24 |
| [Python] 컬렉션 - dictionary (0) | 2023.04.24 |
| [Python] 컬렉션 - list(리스트) (0) | 2023.04.24 |