728x90
728x90
리스트는 대괄호 안에 원소를 넣어 초기화하고, 쉼표로 원소를 구분한다. 리스트의 원소에 접근할 때는 인덱스 값을 괄호 안에 넣어야 하고, 인덱스는 0부터 시작해서 뒤에서부터 셀 때는 -를 붙이면 되는데 +0과 -0은 같은 것이기 때문에 -1부터 시작해서 마지막 원소는 -1로 호출할 수 있다.
리스트 인덱싱 : 인덱스 값을 입력해서 특정 원소에 접근하는 것
슬라이싱: 특정 부분 잘라서 가져오는 것으로, (시작:부르고 싶은 마지막 애 +1) 로 써야 한다. 0부터 시작하고 마지막은 포함하지 않는다는 것을 잊지 말아야 한다.
리스트 초기화, 인덱싱, 슬라이싱, 컴프리헨션 코드
# 크기가 n 인 1차원 리스트 초기화
n = 10
a = [0] * n
# 인덱싱: 뒤에서 첫 번째 원소 출력
a = [0,1,2,3,4,5]
print(a[-1])
# 슬라이싱: 2번째 원소부터 4번째까지
print(a[1:4]) #프린트 결과:[1,2,3]
# 리스트 컴프리헨션을 사용해서 초기화
# 0 ~ 19 중에 홀수만 리스트화
array = [i for i in range(20) if i % 2 == 1]
# 1 ~ 9 까지 해당 숫자 제곱값 리스트화
array = [ i * i for in range(1, 10)]
# 0으로 초기화 된 2차원 리스트
n, m = 3, 3
array = [[0] * m for _ in range(n)]
2차원 리스트를 초기화할 때는 반드시 리스트컴프리헨션을 써야 초기화가 제대로 된다.
리스트 메서드
a = [3, 5, 2]
# 원소 삽입
a.append(1) # a = [3, 5, 2, 1]
# 오름차순 정렬
a.sort() # a = [1, 2, 3, 5]
# 내림차순 정렬
a.sort(Reverse = True) # a = [5, 3, 2, 1]
# 원소 순서 뒤집기
a.reverse() # a = [1, 2, 3, 5]
# 특정 인덱스에 데이터 추가: 인덱스 3에 4 추가
a.insert(3, 4) # a = [1, 2, 3, 4, 5]
# 특정 값 개수 세기
a.count(2) #1
# 특정 값 삭제
a.remove(1) # a = [2, 3, 4, 5]
전부 삭제 메서드는 없다.
동빈좌에 따르면
~에 포함되어 있지 않은 원소만 리스트에 남기는 방법이 있는데
a = [1, 2, 3, 5, 5, 5]
remove_set = {5}
result = [i for i in a if i not in remove_set]
#print(result) => [1, 2, 3]
728x90
728x90
'언어 > 파이썬' 카테고리의 다른 글
튜플, 집합, 리스트 차이 (0) | 2021.06.06 |
---|---|
파이썬 조건부 표현식 (0) | 2021.06.06 |
코드업 6085 :그림 파일 저장용량 계산하기. python format() 소수점 자르기 round()에러 (0) | 2021.05.11 |
코드업 6083번 파이썬 증감연산자 시간 초과 오류 (0) | 2021.05.10 |
코드업 6079 (0) | 2021.04.23 |
댓글