[Python] 자료형

Four_Line·2022년 5월 12일
0

Python

목록 보기
2/3

1. 리스트(list)

  • []로 표현
  • 순서가 있는 집합
  • 값 변경이 가능함(tuple은 변경 불가능).

- 비어있는 리스트에 추가하기(append)

>>> mylist = [] # 빈 리스트를 생성
>>> mylist.append(1)
[1]

- 리스트에서 특정 값 제거하기(remove)

>>> mylist.remove(1)
>>> mylist
[]

- 리스트를 변수에 넣고 복사하고자 할 때

# 이름만 다를 뿐 완전히 동일한 list를 가리킴
>>> a = [1, 2, 3]
>>> b = a
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3
# [:] 이용해 a가 가르키는 리스트와는 다른 리스트(b)를 생성하기
>>> a = [1, 2, 3]
>>> b = a[:]
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 2, 3]
# copy 모듈을 이용해 a가 가르키는 리스트와는 다른 리스트(b)를 생성하기
>>> from copy import copy
>>> b = copy(a)
>>> b is a
False

2. 튜플(tuple)

  • ()로 순서가 있는 집합, 읽기 전용

3. 집합(set)

  • set()로 표현
  • 순서가 없는 집합, 중복을 허용하지 않음(자료형의 중복을 제거하기 위한 필터 역할로 종종 사용되기도 함.

- 교집합, 합집합, 차집합 구하기

# 교집합(intersection)
>>> s1 = set([1, 2, 3, 4, 5, 6])
>>> s2 - set([4, 5, 6, 7, 8, 9])
>>> s1 & s2
{4, 5, 6}

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

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

>>> s1.difference(s2)
{1, 2, 3}
>>> s2.difference(s1)
{8, 9, 7}

- 값 1개 추가하기(add)

>>> myset = set()
>>> myset.add(1)
>>> myset.add(2)
>>> myset.add(1)
>>> myset
{1, 2}

- 값 여러 개 추가하기(update)

>>> s1 = set([1, 2, 3])
>>> s1.update([4, 5, 6])
>>> s1
{1, 2, 3, 4, 5, 6}

- 특정 값 제거하기(remove)

>>> s1 = set([1, 2, 3])
>>> s1.remove(2)
>>> s1
{1, 3}

4. 딕셔너리(dict)

  • {Key1:Value1, Key2:Value2, Key3:Value3...}
  • key와 value로 이루어진 사전형 집합
  • Python3.5까지는 딕셔너리의 입력 순서를 저장하지 않았으나 Python3.6부터는 딕셔너리를 구현하는 내부 구조의 변경으로 입력 순서를 저장함.
>>> mydict = dict()
>>> mydict(['apple'] = 1500
>>> mydict(2000) = 'banana'
>>> mydict['drink'] = 'coffee'
{'apple': 1500, 2000: 'banana', 'drink', 'coffee'} # key, value는 문자형/숫자형 혼용이 가능함.

0개의 댓글