다른 언어의 리스트나 배열은 일반적으로 고정 크기, 단일 데이터 타입, 제한된 변경 가능성 등의 특징을 가지며, 사용 목적에 따라 적합한 자료 구조를 선택해야 한다.
하지만,Python의 리스트는 유연성과 사용 편의성을 제공하며, 다양한 데이터 타입을 혼합하여 저장하고 크기를 동적으로 변경 가능하다.
#빈리스트 생성
empty_list = []
# 요소가 있는 리스트 생성
my_list = [1, 2, 3, 4, 5]
# 인덱스를 통한 요소 접근
print(my_list[0]) # 출력 : 1 (배열의 제일첫번재 인덱스)
#음수인덱스 (역순접근)
print(my_list[-1]) # 출력 : 5 (마지막 요소)
# 슬라이싱
my_list[1:4] # 인덱스 1부터 3까지의 요소 [2, 3, 4]
my_list[2:] # 배열 마지막 2개의 인덱스 출력 [4, 5]
my_list[:2] # 배열 첫번째부터 2개의 인덱스 출력 [1, 2]
# 인덱스를 사용하여 요소 변경
my_list[2] = 10
# my_list는 이제 [1, 2, 10, 4, 5]가 된다.
# append() 메서드로 배열 끝에 요소 추가
my_list.append(6) # [1, 2, 10, 4, 5, 6]
# insert() 메서드로 특정 위치에 요소 추가
my_list.insert(1, 100) # 인덱스 1에 100 삽입 [1, 100, 2, 10, 4, 5, 6]
# del 키워드 사용
del my_list[2] # 인덱스 2의 요소 삭제
# pop() 메서드 사용 (인덱스를 지정하지 않으면 마지막 요소를 제거하고 반환)
last_element = my_list.pop() # 마지막 요소 제거
# remove() 메서드 사용
my_list.remove(100) # 값이 100인 요소 제거
# for 루프를 통한 요소 순회
for item in my_list:
print(item)
length = len(my_list) # 리스트의 요소 개수 반환
my_list = [1, 2, ['a', 'b', ['A', 'B'], 'd'], 4, 5]
my_list[2][2][0] #'A'
[1, 2] + ['a', 'b'] # [1, 2, 'a', 'b']
[1, 2] * 2 # [ 1, 2, 1, 2]
max([1, 2, 3, 4])
min([1, 2, 3, 4])
s = ['I', 'i', 's', 't']
# 'i' 요소 인덱스 번호 찾기
s.index('i') # 1
#Boolean으로 찾기
't' in s # True
'x' not in s # True
# s 안의 'I' 요소의 갯수
s.count('I') # 1