[Data type] List, Tuple

고보·2024년 1월 26일

1 List

  • a = [item1, item2, ...]
    b = list()
    c = []
  • 서로 다른 양식이 요소로 들어갈 수 있음, 리스트 안에 리스트 튜플 들어갈 수 있음
  • 리스트의 연산: [0]*4 -> [0, 0, 0, 0] [0, 0] + [0] -> [0, 0, 0]
  • 리스트도 비교연산 가능: [2021, 2, 3] < [2021, 2, 4] -> True
  • 리스트 내부 값 꺼내기 a = [[0,1], [2, 3]] s1, e1 = a[0] 혹은 for i in a: s1, e1 = i 이런 식으로 별도 변수로 가능
  • 가변: indexing, slicing으로 요소 변경 가능

2 관련 함수, 메소드

  • len(리스트): 길이 구하기
  • .append(item): 마지막에 값 추가
  • .insert(index, item): 지정한 index에 갑 삽입
  • .extend(list): 여러 값을 마지막에 추기
  • .sort() : 반환값은 None. 변수에 저장된 리스트의 정렬 자체가 바뀐다.
    정렬된 값 자체가 반환되길 원한다면 sorted() 함수 이용.
    정렬 가준(key) 지정은 lambda에서.
    my_list.sort(key=lambda x: abs(x)) => 이러면 절댓값 기준으로 된다.
  • .reverse(): 뒤집는다. sort와 마찬가지로 반환값은 None.
  • .index(item, 숫자): 인덱스값 반환. 뒤의 숫자는 옵션으로 입력하면 그 지점부터 탐색. 값이 없으면 에러가 나온다.
  • .remove(item): 제거
  • .pop(): 리스트에서 마지막 값 제거하면서, 그 값을 리턴.
  • .count(item): 지정한 값의 숫자를 세서 반환.
    여기선 구성 요소도 가능 ['77', '17'].count('7') string이기 때문에 3이 반환.
  • .clear(): 내용을 비운다.
  • '연결어'.join(iterable): 구성 성분이 글자여야 함. int 등이면 안됨. 리스트 말고 dict에도 가능. 대신 key만
  • print(*list명): []랑 , 없이 한 줄 출력. 그 모양 그대로 출력하고 싶으면 print(str(리스트명))

3 활용 사례

  • 1 list와 pop() method로 stack 구조 가능

4 tuple

  • a = (item1, item2, ...) b = tuple() c = ()
  • list에서 불변: index, slice, del, Method를 통한 요소 변화, 추가, 삽입, 삭제, 정렬 모두 안된다 -> 메모리 부담 덜 하다
  • 아래의 기능들이 가능하지만, 접근만 가능하고 접근해서 값을 바꾸는 건 불가능
    • 인덱싱
    • 슬라이싱
    • 더하기
    • 곱하기
  • 만약 값을 바꾸고 싶으면 list로 바꿔야 한다.
profile
일본에서 일하는 게임 기획자. 시시해서 죽어버리지 않게, 재밌고 의미 있는 컨텐츠에 관심 있습니다. 그 도구로 데이터, AI도 찝적댑니다.

0개의 댓글