Warning: 여러 개의 값을 나타낼 수 있게 해주는 자료형
list,tuple,dict,set
1. 시퀀스 자료형
순서가 있어서 인덱스로 접근할 수 있는 자료형
연속적으로 (sequence)로 이어져 있다
1.1. list
순서가 있으며, 값의 수정, 추가, 삭제가 가능하다. (대괄호 [] 사용)
1.2. 선언과 동시에 값할당
Code
순서가 있으며, 값의 수정, 추가, 삭제가 가능하다
a1=[1, 2, 3, 4]
print(a1)
b1=["안", "녕", "하", "세", "요"]
print(b1)
c1=[273, 32, 103, "문자열", True, False]
print(c1)
Result
- 리스트 선언시 `[]`를 사용.
- 리스트 자료형의 값은 요소(element) 라고 한다
1.3. 선언후 할당
Code
a1=[]
print(a1)
a1=[1,2,3]
print(a1)
b1=list()
print(b1)
b1=["가", "나", "다"]
print(b1)
Result
1.4. range()
Code
Note: range() 함수로 연속된 숫자 리스트를 만들어 주는 내장 함수
“`py
list(range(n)) # 0부터 n-1까지
list(range(m, n)) # m부터 n-1까지
list(range(m, n, k)) # m부터 n-1까지 k씩 증가
list(range(m, n, -k)) # m부터 n+1까지 k씩 감소
# -k를 쓸 때는 시작(m)이 끝(n)보다 커야함
```py
a1=list(range(5)) #0~4
print(a1)
b1=list(range(1, 6)) #1~5
print(b1)
c1=list(range(0, 10, 2)) #0~9 +=2
print(c1)
d1 = list(range(10, 0, -1))
print(d1)
Result
- `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
Note:
py tu=(1,2,3) tu=1,2,3
요소의 변경,삭제,추가 불가 :
“`py
a=38,21,53,62
print(a)
b=('mango',8,3.5,True)
print(b)
```
Result
(38, 21, 53, 62)
('mango', 8, 3.5, True)
튜플과리스트
a=[1,2,3] # list
tuple(a)
print(a) # tuple
b=(4,5,6) #tuple
list(b)
print(b) #list
1.6. 시퀀스 자료형 활용
Note: 시퀀스 자료형의 종류 : list, tuple, range, string , byte, bytearray
시퀀스 자료형으로 민든 객체를 시퀀스 객체라고 하며
시퀀스 객체에 들어있는 각 값을 요소(element)라고 한다.
1.6.1. 시퀀스 자료형의 공통기능
1.6.1.1. 특정값의 확인
튜플,range, 문자열도 사용가능
Code
```py
a=[0,10,20,30,40,50,60,70,80,90]
print(30 in a) # 값의 포함확인
print(300 not in a) # 값이 비포함 확인
```
Result
True
True
리스트 a에 숫자 30이 있으므로 True를 반환.
리스트 a에 숫자 300이 없으므로 True를 반환.
1.6.1.2. 시퀀스 객체 연결
Code
#### Result
``` [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
> **Note**: 딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장
> ```py
dict_name = {키1: 값1, 키2: 값2}
a = {"name": "홍길동", "age": 25, "city": "서울"}
print(a)
print(a["name"]) # 키로 값 가져오기
Result
{'name': '홍길동', 'age': 25, 'city': '서울'}
홍길동
2.2. set
중복을 허용하지 않으며, 순서가 없다. (중괄호 {} 사용)
Code
> **Note**: 집합(set)은 중복된 값을 자동으로 제거
```py
set_name = {(값1, 값2, 값3)}
```
```py
a = {(1, 2, 3, 3, 4, 4, 5)}
print(a) b = set([1, 2, 2, 3, 3, 3]) print(b)
```
Result
```
{(1, 2, 3, 4, 5)}
{(1, 2, 3)}
```