파이썬 집합 자료형

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

  1. `range(5)` : 0부터 4까지
  2. `range(1, 6)` : 1부터 5까지
  3. `range(0, 10, 2)` : 0부터 9까지 2씩 증가
  4. `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)}
```

댓글 남기기