#2 자료형(리스트, 튜플, 딕셔너리, 집합, 불)

JIY00N·2023년 1월 30일
0

Python

목록 보기
2/9
post-thumbnail

2023.01.30

0. 시작하기전

오늘은 리스트, 튜플, 딕셔너리, 집합,불 자료형에 관해 공부하자 :)

1. 리스트 자료형

리스트는 어떠한 자료형도 포함 시킬 수 있다.

1-1 리스트 정의

리스트명 =[요소1, 요소2, 요쇼3 ...]

1-2 리스트 인덱싱과 슬라이싱

  1. 리스트 인덱싱
>>> a = [1,2,3]
>>> a
[1,2,3]
>>> a[0]
1
>>> a[-1]
3
>>> b = [1,2,3,['a','b','c']]
>>> b[0]
1
>>> b[-1]
['a','b','c']
>>> b[-1][0]
'a'
  1. 리스트 슬라이싱
>>> a = [1,2,3,4,5]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[1,2]
>>> c
[3,4,5]

1-3 리스트 연산

  1. 리스트 더하기 (+)
  2. 리스트 반복하기 (*)
  3. 리스트 길이 구하기 len()

1-4 리스트 수정 & 삭제

  1. 리스트 값 수정
>>> a = [1,2,3]
>>> a[2] = 4
>>> a
[1,2,4]
  1. 리스트 삭제 del함수 사용
>>> a = [1,2,3]
>>> del a[1]
>>> a
[1,3]

1-5 리스트 관련 함수

  1. append(x) - 리스트의 맨 마지막에 x를 추가
  2. sort() - 리스트의 요소를 순서대로 정렬(오름)
  3. reverse() - 리스트를 역순으로 뒤집는다.
  4. index(x) - 리스트에 x값이 있으면 x의 위치 값을 돌려줌, 존재하지 않으면 valueError 발생
  5. insert(a,b) - 리스트의 a번째 위치에 b를 삽입
  6. remove(x) - 리스트에서 첫번째로 나오는 x를 삭제
  7. pop() - 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제
    pop(x) - 리스트의 x번째 요소를 돌려주고 그 요소는 삭제
  8. count(x) - 리스트 안에 x가 몇개 있는지 조사, 개수 반환
  9. extend(x) - x에는 리스트만 올 수 있으며, 원래의 리스트에 x 리스트를 더함

1-6 리스트 복사

✔ 동일한 객체 가리킴, 주소 동일

>>> a = [1,2,3]
>>> b = a
>>> a is b
True

✔ 다른 객체 가리킴, 다른 주소
1. [:]사용

>>> a = [1,2,3]
>>> b = a[:]
>>> a[1] = 4
>>> a
[1,4,3]
>>> b
[1,2,3]
  1. copy 모듈 사용
>>> from copy import copy
>>> a = [1,2,3]
>>> b = copy(a)
>>> a
[1,2,3]
>>> b
[1,2,3]
>>> b is a
False

2. 튜플 자료형

튜플은 리스트와 거의 비슷하다. 차이점은 다음과 같다.
✔ 리스트는[], 튜플은()
✔ 리스트는 값의 생성, 삭제, 수정이 가능하지만 튜플은 불가
✔ 튜플은 1개의 요소만을 가질때 콤마를 반드시 붙임 ex) t2=(1,)
✔ 괄호 생략 가능

3. 딕셔너리 자료형

3-1 딕셔너리 정의

{key1:value1, key2:value2, ...}

3-2 딕셔너리 쌍 추가, 삭제

  1. 딕셔너리 쌍 추가
>>> a = {1:'a'}
>>> a[2] = 'b'
>>> a
{1: 'a', 2: 'b'}
>>> a['name'] = 'pey'
>>> a
{1: 'a', 2: 'b', 'name': 'pey'}
>>> a[3] = [1,2,3]
>>> a
{1: 'a', 2: 'b', 'name': 'pey', 3: [1,2,3]}
  1. 딕셔너리 요소 삭제
>>> del a[1] #  key가 1인 key:value 쌍 삭제
>>> a
{'name': 'pey', 3: [1,2,3], 2: 'b'}

3-3 딕셔너리 사용법

✔ 인덱싱이나 슬라이싱 기법을 대신할 Key를 사용해서 Value 구하기
✔ Key를 사용해서 Value 구하기 -> 딕셔너리 변수 이름[Key]

>>> dic = {'name': 'Jiyoon', 'phone': '01012345678', 'birth': '0825'}
>>> dic['name']
'Jiyoon'
>>> dic['phone']
'01012345678'
>>> dic['birth']
'0825'

✔ 주의사항 - 중복되는 값 x, Key에 (리스트x, 튜플o), Value에는 아무 값이나 가능

3-4 딕셔너리 관련 함수

  1. a.keys() - a의 key만을 모아서 dict_keys 객체로 돌려줌
    dict_keys를 리스트로 변환 -> list(a.keys())
  2. a.values() - a의 value만을 모아서 dict_values 객체로 돌려줌
  3. a.items() - key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려줌
  4. a.clear() - 딕셔너리 안의 모든 요소를 삭제
  5. a.get(x) - x라는 key에 대응되는 value를 돌려줌
    get(x,'디폴트 값') - 딕셔너리 안에 찾으려는 key값이 없을 경우 미리 정해 둔 디폴트 값을 대신 가져옴
  6. in - 해당 key가 딕셔너리 안에 있는지 조사
>>> a = {'name': 'Jiyoon', 'phone': '01012345678', 'birth': '0825'}
>>> 'name' in a
True
>>> 'email' in a
False

4. 집합 자료형

4-1 특징

✔ set 키워드 사용
✔ 중복을 허용하지 않음, 순서가 없음
✔ set 자료형에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환 후 진행

>>> s1 = set([1,2,3])
>>> l1 = list(s1) # 리스트로 변환
>>> l1
[1,2,3]
>>> t1 = tuple(s1) # 튜플로 변환
>>> t1
(1,2,3)

4-2 교집합, 합집합, 차집합

  1. 교집합 - &, intersection()사용
  2. 합집합 - |, union()사용
  3. 차집합 - 빼기(-), difference()사용
>>> s1 = set([1,2,3,4,5,6])
>>> s2 = set([4,5,6,7,8,9])

# 교집합
>>> s1 & s2
{4,5,6}
>>> s1.intersection(s2)
{4,5,6}

# 합집합
>>> s1 | s2
{1,2,3,4,5,6,7,8,9}
>>> s1.intersection(s2)
{1,2,3,4,5,6,7,8,9}

# 차집합
>>> s1 - s2
{1,2,3}
>>> s2 - s1
{8,9,7}
>>> s1.difference(s2)
{1,2,3}
>>> s2.difference(s1)
{8,9,7}

4-3 집합 자료형 관련 함수

  1. add() - 1개의 값만 추가
  2. update() - 값을 여러개 한꺼번에 추가
  3. remove() - 특정 값 제거

5. 불 자료형

✔ 참(True)과 거짓(False)을 나타내는 자료형
✔ 문자열, 리스트, 튜플, 딕셔너리등 값이 비어있으면 -> False
✔ None -> False
✔ bool() - 참과 거짓을 식별하는 함수

6. 비트 단위 연산자

  1. bitwise not = ~

  2. bitwise and = &

  3. bitwise or = |

  4. bitwise xor = ^

  5. bitwise left shift = <<

  6. bitwise right shift = >>

7. To be continued..

이번 포스트에서는 이전 포스트에 이어서 파이썬의 자료형에 관해 공부했다.

이전 포스트 Python-1 https://velog.io/@jiyoon2/Python-1
다음 포스트 Python-3 https://velog.io/@jiyoon2/Python-3

profile
블로그 이전 했습니다. https://yoon-log.vercel.app/

0개의 댓글