05 파이썬 집합 자료형
주의
여러 개의 값을 나타낼 수 있게 해주는 자료형 list,tuple,dict,set
1. 시퀀스 자료형
순서가 있어서 인덱스로 접근할 수 있는 자료형
연속적으로 (sequence)로 이어져 있다
1.1. list
순서가 있으며, 값의 수정, 추가, 삭제가 가능하다. (대괄호 [] 사용)
1.2. 선언과 동시에 값할당
- Code
- Result
순서가 있으며, 값의 수정, 추가, 삭제가 가능하다
1a1=[1, 2, 3, 4]2print(a1)3b1=["안", "녕", "하", "세", "요"]4print(b1)5c1=[273, 32, 103, "문자열", True, False]6print(c1)- 리스트 선언시
[]를 사용. - 리스트 자료형의 값은 요소(element) 라고 한다
1.3. 선언후 할당
- Code
- Result
1a1=[]2print(a1)3a1=[1,2,3]4print(a1)5b1=list()6print(b1)7b1=["가", "나", "다"]8print(b1)비어있는 리스트를 선언후 값을 할당할수 있다.
1.4. range()
- Code
- Result
참고
range() 함수로 연속된 숫자 리스트를 만들어 주는 내장 함수
1list(range(n)) # 0부터 n-1까지2list(range(m, n)) # m부터 n-1까지3list(range(m, n, k)) # m부터 n-1까지 k씩 증가4list(range(m, n, -k)) # m부터 n+1까지 k씩 감소5 # -k를 쓸 때는 시작(m)이 끝(n)보다 커야함1a1=list(range(5)) #0~42print(a1)3
4b1=list(range(1, 6)) #1~55print(b1)6
7c1=list(range(0, 10, 2)) #0~9 +=28print(c1)9
10d1 = list(range(10, 0, -1))11print(d1)range(5): 0부터 4까지range(1, 6): 1부터 5까지range(0, 10, 2): 0부터 9까지 2씩 증가range(10, 0, -1): 10부터 1까지 1씩 감소
1.5. tuple
순서가 있으나, 생성 후 값 수정이 불가능하다. (소괄호 () 사용)
- Code
- Result
- 튜플과리스트
참고
1 tu=(1,2,3) tu=1,2,3요소의 변경,삭제,추가 불가 :
1a=38,21,53,622print(a)3b=('mango',8,3.5,True)4print(b)1(38, 21, 53, 62)2('mango', 8, 3.5, True)1 a=[1,2,3] # list2 tuple(a)3 print(a) # tuple4 b=(4,5,6) #tuple5 list(b)6 print(b) #list1.6. 시퀀스 자료형 활용
참고
시퀀스 자료형의 종류 : list, tuple, range, string , byte, bytearray
시퀀스 자료형으로 민든 객체를 시퀀스 객체라고 하며
시퀀스 객체에 들어있는 각 값을 요소(element)라고 한다.
1.6.1. 시퀀스 자료형의 공통기능
1.6.1.1. 특정값의 확인
튜플,range, 문자열도 사용가능- Code
- Result
1a=[0,10,20,30,40,50,60,70,80,90]2print(30 in a) # 값의 포함확인3print(300 not in a) # 값이 비포함 확인1True2True리스트 a에 숫자 30이 있으므로 True를 반환.
리스트 a에 숫자 300이 없으므로 True를 반환.
1.6.1.2. 시퀀스 객체 연결
- Code
- Result
py a=[0,10,20,30,40] b=[50,60,70,80,90] print(a + b) [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] 두 리스트가 하나로 연결되어 새로운 리스트가 만들어짐.1.6.1.3. 시퀀스 객체 반복
1.6.2. 시퀀스 객체의 요소갯수 구하기
1.6.2.1. 리스트와 튜플
1.6.2.2. range의 숫자 생성 개수
1.6.2.3. 문자열의 길이
1.6.3. 인덱스의 사용
1.6.3.1. 음수인덱스
1.6.3.2. 인덱스 범위를 벗어난 경우
1.6.3.3. 마지막 요소에 접근하기
1.6.3.4. 요소에 값 할당
1.6.3.5. 요소 삭제 (del)
1.6.4. 슬라이스 사용
2. 비시퀀스 자료형
순서가 없어서 인덱스로 접근할 수 없는 자료형
2.1. dict
‘열쇠(Key)‘와 ‘값(Value)‘을 쌍으로 저장한다. 순서가 없고 열쇠를 통해 값에 접근한다. (중괄호 사용)
- Code
- Result
참고
딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장
1dict_name = {키1: 값1, 키2: 값2}1a = {"name": "홍길동", "age": 25, "city": "서울"}2print(a)3print(a["name"]) # 키로 값 가져오기1{'name': '홍길동', 'age': 25, 'city': '서울'}2홍길동2.2. set
중복을 허용하지 않으며, 순서가 없다. (중괄호 사용)
- Code
- Result
참고
집합(set)은 중복된 값을 자동으로 제거
1 set_name = {(값1, 값2, 값3)}1 a = {(1, 2, 3, 3, 4, 4, 5)}2 print(a) b = set([1, 2, 2, 3, 3, 3]) print(b)1{(1, 2, 3, 4, 5)}2{(1, 2, 3)}