출처 한 눈에 읽는 파이썬3 기초 _ goorm edu
-튜플과 집합
튜플: 리스트와 유사하나 값을 바꿀 수 없음, 소괄호를 사용해 선언
1하나의 값이면 뒤에 콤마를 꼭 입력한다.
2괄호는 생략가능
3튜플 안에 있는 mutable한 값은 수정 가능하다
튜플 자체의 요소는 데이터 초기화와 동시에 정해진 값이여서 수정 불가능하나 mutable 하다면 요소의 요소를 수정할수는 있다 (서랍장이 개수와 내용물까지 채워져 있는데 서랍 안에 칸 조정 가능한 작은 수납 칸이 있다면 그 작은 칸을 수정가능하다는 것)
튜플은 저장돼있는 값을 수정하지 않는 선에서 리스트의 기능을 모두 지원
대표적으로 인덱싱과 슬라이싱이 있음
리스트에 사용하는 함수 중 값을 변경하지 않는 함수는 그대로 사용 가능
튜플의 슬라이싱
tuple - ('a', 13, 'python', 1, [1,3,4]) 에서 ('python', 1)이란 값을 얻고 싶다면
tuple[2:4]
-집합 {} 이용하여 바로 선언 및 초기화
set(묶음 자료형) 형식으로 값을 초기하는 것 이외에 이미 존재하는 다른 묶음 자료형을 집합으로 변형 가능
=> 함수의 전달 인자를 집합으로 만든다는 뜻
전달 인자로 문자열, 리스트, 딕셔너리, 튜플 등을 입력하면 그 값들이 집합으로 변경됨.
이렇게 생성된 집합은
1 요소의 순서가 없고
2 중복되는 값은 한 개만 저장하며
3 딕셔너리는 key만 저장함
중복이 없기 때문에 리스트 혹은 튜플에 속한 요소의 중복을 제거하기 위한 필터로 사용됨
순서가 없어 인덱싱과 슬라이싱 불가능
사용해야하는 경우에는 집합을 다시 리스트 혹은 튜플로 변환해야한다
set() 처럼 list() tuple() 사용 가능
-집합 함수
교집합 &, intersection()
합집합 |, union()
차집합 -, difference()
add: set.add(a) 집합 set에 함수 a값을 추가한다
update: set.update([a, b, c, ...]) 집합 set에 여러 개의 값을 추가한다
remove: set.remove(a) 집합 set에 a 값을 삭제한다
s1 = {1, 2, 3, 4}
s1.add("hello")
print(s1)
s1.add(10)
print(s1)
s1.add((1,2,3)) #add() 사용 시 튜플/문자열은 값 하나로 인식
print(s1)
s1.update(['a', 'b', 'c']) #set()과 같이 여러 값을 한 요소로 저장
s1.update((11,12))
print(s1)
s1.update("zyx") #s1.add("hello")와의 차이
print(s1)
s1.remove("hello") #하나의 값만 제거 가능
print(s1)
{1, 2, 3, 4, 'hello'}
{1, 2, 3, 4, 10, 'hello'}
{1, 2, 3, 4, 10, (1, 2, 3), 'hello'}
{1, 2, 3, 4, 'c', 10, (1, 2, 3), 11, 12, 'hello', 'b', 'a'}
{1, 2, 3, 4, 'c', 10, (1, 2, 3), 11, 12, 'z', 'hello', 'x', 'b', 'y', 'a'}
{1, 2, 3, 4, 'c', 10, (1, 2, 3), 11, 12, 'z', 'x', 'b', 'y', 'a'}
튜플은 한 개의 원소로 사용 가능하지만 리스트와 집합 자체는 집합의 원소로 사용할 수 없다
-반복문: 데이터에 순사적으로 접근할 때 필수! 코드의 중복을 획기적으로 줄임
특정한 조건을 만족하는 동안 범위 안에 포함된 내용을 반복해서 실행하는 기능
-while 반복문: 조건이 참인 동안 while 범위 안에 있는 코드를 계속 반복
i = 0 //초기식
while i < 10 : //조건식
print(i) //조건변화식: while 내에서 실행
i += 1
-for 반복문: 주어진 조건이 True일 때 포함된 내용을 반복하는 문법
초기식, 조건식, 조건 변화식이 하나의 특이 되어 이를 한 번에 묶은 반복문
for i in range(0, 10, 1): //초기식 i, 조건식 in 우측에 조건 변화식과 함께 배치
print(i) //조건 변화식 : range()에 포함
for은 간결하여 while문보다 빈번하게 사용되나 모든 상황에서 유용한 것은 아님
for문은 정해진 횟수나 인덱스에 접근할 때, while문은 특정 조건을 만족할 때 반복을 멈추는 흐름에서 많이 쓰임
반복문의 중첩, 반복문 안의 반복문
반복문과 인덱싱으로 리스트의 요소 출력하기
l = [1,3,5,6,7]
for i in range(len(l)) :
print(l[i])
집합 자료형의 요소에 접근할 때는 "for in 값의 집합자료형" 형식으로 사용
1 print()함수는 반복 실행시 모든 요소를 개행해서 출력하기 때문에(줄바꿈) 데이터를 한 줄에 표현하려면 end = ' ' 또는 end = ',' 를 추가해야한다
2 for key, val in dic.items() : 을 통해 조건식의 변수 여러개 사용 가능. 딕셔너리 사용시는 items라는 객체로 접근해야함
딕셔너리는 key와 value가 쌍으로 있을 뿐 두 값이 튜플과 리스트처럼 묶여있지 않기 때문에 dic.items()으로 딕셔너리를 아이템 객체로 변환하여 key와 value를 묶고 key, val 변수로 접근해야함
'Programming > Python' 카테고리의 다른 글
파이썬 클래스, 클래스 변수 (0) | 2022.01.08 |
---|---|
파이썬 함수 반환값부터 (0) | 2022.01.07 |
파이썬 조건문과 제어문부터 (0) | 2022.01.06 |
파이썬 문자열 이어서 (0) | 2022.01.04 |
파이썬의 날 (0) | 2022.01.03 |
댓글