순서가 있으며 수정, 삭제, 추가가 가능한 객체의 집합
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 메서드 | 가능 | |
부분 수정 여부 | 가능 | 불가능 |
[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 |
댓글 영역