한 걸음씩 기록하며

#.8 Data Structure Method 본문

Python

#.8 Data Structure Method

Haksae 2021. 12. 21. 01:40

1. String method

  • strip(): 앞, 뒤 공백 없애준다.
  • lstrip() : 왼쪽 공백 없애준다.
  • rstrip() 오른쪽 공백 없애준다.
  • count(str) : 문자열에서 지정 문자열 개수를 세어준다. 
  • capitalize() : 앞글자를 대문자로 만들어 반환 (나머지는 모두 소문자) 
  • title() : 어포스트로피나 공백 뒤에 있는 문자를 대문자로 만들어 반환
  • upper() : 모두 대문자로 만들어 반환
  • lower() : 모두 소문자로 만들어 반환
  • swapcase(): 대 <-> 소문자로 변경하여 반환

2. List Method

  • len() : list의 요소 개수를 알려준다.
  • [n:m] : 값을 이용하여 접근이 가능
  • [index] = value : 해당 index의 value를 update
  • index(x) : 원하는 x값을 찾아 index 값을 반환. index 도 찾는 value x가 없으면 오류 발생.
  • count(x) : list 내 원하는 x 값의 갯수를 반환.
  • sort() : list를 정렬해줌. .sorted()와 다르게 원본 list를 변형시키고, None을 리턴
  • sorted(list): iterable을 정렬해서 list로 반환. 원본 list를 변형시키지 않고, 정렬된 list을 리턴
  • reverse() : list 내 value의 순서를 반대로 뒤집는다. (정렬 아님)

  • 추가하는 method
    • append() : 리스트에 값을 추가한다. 추가할 값이 iterable type일 때, iterable value만 뽑아서 추가하는 것이 아니라 하나의 객체로 인식하여 추가한다.
    • extend() : 리스트에 iterable 값을 붙일 수 있다. value로 취급하여 추가된다.
    • insert(a, b) : a 인덱스에 b 값을 삽입한다.
  • 삭제 method
    • remove() : 리스트 안에 해당 값을 삭제
    • clear() : 모든 요소 삭제
    • pop(a) : 정해진 위치 a에 있는 값을 삭제
  • List Comprehension
    • list_name = [value to append <조건문/반복문>]
    • 조건문과 반복문이 중첩될 때에는, 상위 명령문을 앞에다 쓰면 된다.
    • ex) a = [number for number in range(1, 10) if number % 2 == 0]

3. Set Method

  • 집합
    • A & B or A.intersection(B) : A와 B의 교집합
    • A | B or A.union(B) : A와 B의 합집합
    • A - B or A.difference(b) : A와 B의 차집합
  • add() : element를 set에 추가 (set은 순서가 없다)
  • update(*others) : 여러 개의 element를 set에 추가 (반드시 iterable한 값을 넣어야한다)
    • iterable은 단일 객체가 아닌 반복할 수 있는 문자열, 튜플, 딕셔너리, range() 함수 등을 의미
  • remove() : element를 세트에서 삭제하고, 없으면 KeyError가 발생.
  • discard() : element를 세트에서 삭제하고, 리턴값이 None이라서 없어도 에러가 발생하지 않는다.
  • pop() : 임의의 element를 제거

4. Dictionary Method

  • del dict[key] : item 삭제
  • dict.pop(key) : key가 dictionary에 있으면 해당 value를 제거하고 그 값을 return
  • update(key=value) : 값을 제공하는 key, value로 덮어쓴다.
  • get(key) : key를 통해 value를 가져온다. key가 dictionary에 없어도 KeyError가 발생하지 않는다.

  • Dictionary comprehension : dict = {key: value <조건문/반복문>}

5. map, zip, filter

1) map(function, iterable)

  • iterable의 모든 element에 function을 적용한 후 그 결과를 반환
  • iterable type: list, dict, set, str, bytes, tuple, range
  • return은 map_object 형태로 된다. 그래서 출력가능한 형태로 바꿔야 한다. list 같은 형태.

2) zip(*iterables)

  • 복수 iterable한 것들을 모아준다
  • return은 튜플의 모음으로 구성된 zip object 형태로 된다. 출력가능한 형태로 바꿔야 한다.
  • ex) zip(list1, list2) => output: (val1.1, val2.1), (val1.2, val2.2), …
  • 반드시 iterable object 끼리 길이가 같을 때 사용해야한다. 가장 짧은 것을 기준으로 구성하기 때문이다.
  • 가장 긴 것을 기준으로 구성할 수 있다. 홀로 남은 값들은 fillvalue와 짝지어진다. from itertools import zip_longest// zip_longest(iterable1, iterable2, fillvalue='args')

3) filter(function, iterable)

  • iterable이 인자로 입력된 function의 반환된 결과가 참인 것들만 구성하여 반환
  • true/false를 판단하는 function을 넣어야 한다
  • return은 filter object 형태로 된다. 그래서 출력가능한 형태로 바꿔야 한다.

'Python' 카테고리의 다른 글

#.10 Object(객체)에 대하여  (0) 2021.12.22
#.9 객체지향 프로그래밍 (OOP)  (0) 2021.12.22
#.7 Data Structure : list, tuple, set, dict  (0) 2021.12.20
#.6 Function & Lambda  (0) 2021.12.20
#.5 Control of Flow  (0) 2021.12.20
Comments