본문 바로가기

Python

Python - List

리스트는 [ ] 로 감싸고, 요소끼리는 쉼표로 구분한다. 어떤 자료형이든 다 요소로 넣을 수 있다.

lst = [element1, element2, element3, ... ]

빈 리스트 만들기

새로 선언    lst = [] 또는 lst = list()

기존 리스트 비우기    lst.clear()

수정

lst[index] = new_val

없으면 알아서 추가해주는 dict와 달리 반드시 기존에 존재하는 index를 넣어야 된다.

있는 값 확인

값이 있는지 확인    val in lst

값이 없는지 확인    val not in lst

특정 값의 index 반환    lst.index(val) 그 값이 여러개 있다면 첫번째 index를 반환함. 없는 경우 ValueError

리스트 길이 구하기    len(lst)

특정 element의 개수 구하기    lst.count(val)

리스트간 중복요소 찾기    set(lst1).instersection(lst2)

확장

리스트끼리 합치기    + 또는 lst1.extend(lst2)    만일 lst2 자리에 리스트가 아닌 문자열을 넣으면 알파벳으로 쪼개 넣는다.

반복    [1, 2] * 3 -> [1, 2, 1, 2, 1, 2] shallow copy이니 주의.

끝에 데이터 추가    lst.append(val)    만일 val이 리스트면 그 리스트째로 하나의 요소로 넣는다.

원하는 index에 추가    lst.insert(index, val)

cf. 리스트에서 리스트를 빼는 method는 없음. 구현은 가능.    lst1_sub_lst2 = [x for x in lst1 if x not in lst2]

뽑아내기(기존 리스트 보존)

특정 위치 하나만    index로 지정

범위 slicing    lst[start:stop:step]    start이상 stop 미만

뽑아내면서 삭제

맨 마지막값 뽑아내기    lst.pop()

특정 index 값 뽑아내기    lst.pop(index)

삭제

특정 값 삭제    lst.remove(val)    그 값이 여러개 있다면 첫번째 값을 삭제

특정 index 값 삭제    lst.del(index)

+ remove는 찾는 값이 존재하지 않으면 ValueError 발생. del은?

정렬(보존X. 덮어씌움)

역순으로 변경    lst.reverse()

오름차순/알파벳순    lst.sort()

내림차순    lst.sort(reverse=True)

원본을 유지한 채 정렬하기

sorted    lst2 = sorted(lst1)

절댓값 순 정렬    sorted(lst, key=lambda x: (abs(x), x))

복사(deep)

copy.deepcopy하고 sort
lst2 = [i for i in lst1]

리스트 내 모든 요소의 type 변경

문자열 배열 ['1', '100', '33']을 정수 배열 [1, 100, 33]로 바꾸기
list1 = ['1', '100', '33']

list2 = list(map(int, list1))

배열의 모든 요소를 이어붙인 문자열

my_list = ['1', '100', '33']
answer = ''.join(my_list) # "110033"

두개의 리스트의 같은 인덱스끼리 묶어 새로운 리스트 만들기

for m, n in zip(lst1, lst2):

new_lst.append(m, n)

2차원 배열의 열과 행을 뒤집기

mylist = [ [1,2,3], [4,5,6], [7,8,9] ]
new_list = list(map(list, zip(*mylist)))

곱집합

import itertools
iterable1 = 'ABCD'
iterable2 = 'xy'
iterable3 = '1234'
itertools.product(iterable1, iterable2, iterable3)

 

 

참고 교재1

참고 교재2

참고 링크

참고 강의

'Python' 카테고리의 다른 글

Python - Set  (0) 2021.01.15
Python - Tuple  (0) 2021.01.15
Python - Function Parameters  (0) 2021.01.14
Python - String Formatting  (0) 2021.01.14
Python - 변수와 기초 연산  (0) 2021.01.13