상세 컨텐츠

본문 제목

[PYTHON] 파이썬 자료형(1) 리스트(List)

PYTHON/기본

by ranlan 2021. 5. 12. 00:07

본문

728x90

 

리스트 자료형

순서가 있으며 수정, 삭제, 추가가 가능한 객체의 집합

my_list = list()

my_list = []
numbers = [1, 2, 3,]

[대괄호]로 작성되며, 내부 원소는 ,로 구분

마지막 원소 뒤에 ,를 넣어도 오류가 나지 않음

 

 

리스트 메서드

리스트 길이 반환

numbers = [1, 2, 3, 4]
len(numbers) # 4

추가

numbers = [1, 2, 3, 4]

# 배열 끝에 요소 추가
numbers.append(5) # [1, 2, 3, 4, 5]

# 원하는 인덱스에 요소 추가
numbers.insert(0, 0) # [0, 1, 2, 3, 4, 5]

리스트 확장 - 리스트만 가능

list1 = [1,2,3]
list1.extend([4,5])
list1 # [1, 2, 3, 4, 5]

list2 = [6, 7]
list1.extend(b)
list1 # [1, 2, 3, 4, 5, 6, 7]

덧셈 연산으로 연결 가능

list1 = [1, 2, 3]
list2 = [4, 5]

list1 + list2 = [1, 2 ,3 ,4, 5]

수정

numbers = [1, 2, 3, 4]
number[2] = 4 # [1, 2, 4, 4]

삭제

numbers = [0, 1, 2, 3, 4, 5]

# 내장 함수 - 원하는 인덱스의 요소 삭제
del numbers[2] # [0, 1, 3, 4, 5]

# 리스트 자료형 함수 - 원하는 값의 요소 삭제
numbers.remove(3) # [0, 1, 4, 5]

리스트 뒤집기

numbers = [2, 5, 3, 4, 1]

numbers.reverse()
print(numbers) # [1, 4, 3, 5, 2]

 

리스트 정렬

sorted() 원래의 배열은 그대로 두고 정렬한 새로운 배열 반환

numbers = [2, 5, 3, 4, 1]
sorted_numbers = sorted(numbers)

# 오름차순(default)
print(numbers) # [2, 5, 3, 4, 1]
print(sorted_numbers) # [1, 2, 3, 4, 5]

# 내림차순
sorted_numbers_reverse = sorted(numbers, reverse = True)
print(sorted_numbers_reverse) # [5, 4, 3, 2, 1]

sort() 해당 배열 자체를 정렬

# 오름차순(default)
numbers.sort() 
print(numbers) # [1, 2, 3, 4, 5]

# 내림차순
numbers.sort(reverse = True)
print(numbers) # [5, 4, 3, 2, 1]

 

IN 메서드

primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(7 in primes) # True
print(5 not in primes) # False

in : 배열에 해당 값이 있으면 True 반환 없으면 False 반환

not in : 배열에 해당 값이 있으면 False 반환 없으면 True 반환

 

해당 요소의 위치 반환

fruits = ["사과", "포도", "토마토", "바나나", "사과"]
fruits.index("포도") # 1

개수 세기

fruits.count("사과") # 2

 

요소 끄집어내기

맨 마지막 요소 돌려주고 해당 요소 삭제

a = [1,2,3]
a.pop() # 3
a # [1, 2]

해당 인덱스의 값 반환후 해당 요소 삭제

a = [1,2,3]
a.pop(1) # 2
a # [1, 3]

* 삭제 후 삭제한 값을 리턴받아 활용해야할 때 사용

 

 

리스트 인덱싱과 슬라이싱

인덱싱

my_list = ['a', 'b', 'c', 'd', 'e']
my_list[4] # e

음수 인덱싱

my_list[-1] # e

리스트 안에 리스트 (이중 리스트)

my_list = [1, 2, 3, ['a', 'b', 'c']]

my_list[0] = 1
my_list[3] = ['a', ' b', 'c']
my_list[-1] = ['a', ' b', 'c']

my_list[-1][0] = 'a'

삼중 리스트 인덱싱

my_list = [1, 2, ['a', 'b', ['Hello', 'world']]]

my_list[2][2][0] = 'Hello'

 

슬라이싱

시작 인덱스 이상 종료 인덱스 미만 출력, step은 생략 가능

리스트변수[시작인덱스 : 종료인덱스 : step]

음수 인덱싱도 사용 가능

my_string = 'show how to index into sequences'
my_list = 'show how to index into sequences'.split()

my_list[1:4] # ['how', 'to', 'index']
my_list[1:-1] # ['how', 'to', 'index', 'into']

생략 시 처음 혹은 끝까지 출력

my_list[3:] # ['index', 'into', 'sequences']
my_list[:3] # ['show', 'how', 'to']

my_list[:3] + s[3:] == s # True

스텝

my_list[::2] # ['show', 'to', 'into']

스탭 이용하여 리스트 역순으로 출력

my_list[::-1] # 'sequence', 'into', 'index', 'to', 'how', 'show'

중첩된 리스트에서 슬라이싱

a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]

a[2:5] # 3, ['a', 'b', 'c'], 4]
a[3][:2] # ['a', 'b']

 

 

리스트 복사

리스트 동일하게 복사하는 방법

# 1
u = s.copy()

# 2
v = list(s)

# 3
w = s[:]

 

 

 

* 리스트와 문자열 비교 

문자열  2021.06.07 - [python] - [PYTHON] 자료형 - 문자열

  리스트 문자열
인덱싱 가능
인덱싱 for 반복문 활용 가능
슬라이싱 가능
덧셈 연산(+)으로 연결 가능
len 메서드 가능
부분 수정 여부 가능 불가능

 

728x90

'PYTHON > 기본' 카테고리의 다른 글

[PYTHON] is와 == 비교  (0) 2021.05.14
[PYTHON] 파이썬 자료형(2) 사전(Dictionary)  (0) 2021.05.12
[PYTHON] 파이썬 파일 입출력  (0) 2021.04.20
[PYTHON] 모듈(Module)  (0) 2021.04.20
[PYTHON] 조건문과 반복문  (0) 2021.04.20

관련글 더보기

댓글 영역