list =['1','a','blue']
fruit = ['banana', 'apple', 'orange']
fruit[0] # banana
fruit = ['banana', 'apple', 'orange','kiwi','mango']
# 범위를 넘어서면 자동으로 최대 범위 지정
print(fruit[-10: 10]) #'banana', 'apple', 'orange'
# 모든 내용
print(fruit[:])
# 역
print(fruit[::-1]) #['mango', 'kiwi','orange','apple','banana']
#두 칸 단위로 역으로
print(fruit[::2])
# 시작, 끝, 스텝
#print(fruit[0:10:2]) # ['banana', 'orange','mango']
리스트 연결( concatenation)
a= [1,2,3]
b=[4,5,6,7]
print(a+b) = [1,2,3,4,5,6,7]
길이 반환
len(a)= 3
특정 인덱스값 변경
a[0]=10
반복
print(a*2) # [1,2,3,1,2,3]
존재여부
2 in a # True
2 in b # False
할당
extend : list의 가장 끝 쪽에 모든 항목을 삽입
append : 리스트 가장 끝에 값을 그대로 삽입
remove(): 값을 삭제
del list[0]: 인덱스 값 삭제
append
extend
다른 언어와 달리, 파이썬은 메모리 주소를 계속 참조한다.
a=b : a와 b는 동일한 메모리 공간을 할당 받게 됨. sort를 a에만 적용했음에도 b도 동일한 결과를 갖음(메모리 주소 참조)
a=b[:] : 메모리 공간을 공유하지 않고, 값만 복사.sort를 a에만 적용했을 경우, b도 동일한 결과를 같지 않음. 서로 다른 메모리 공간을 갖기 때문
리스트 속에 리스트를 넣어 행렬(matrix) 생성
A B C D
korea 60 70 85 90
math 45 56 73 83
eng 76 83 77 69
copy = array[:]로 값만 복사하는 것 1D에서는 가능, 그러나 2D에서 불가 (메모리 참조)되는 현상
copy를 하고 싶을 때 import cpoy를 하여 de - copy 해야한다.
import sys
print(sys.getsizeof("a")) #a의 메모리 출력
리스트와 특징이 유사.
인덱싱
슬라이싱
a ='It\' ok.' # \' ->문자 '로 구분
a ="it's ok." #
따옴표 3번 사용
num_a= a.upper().count("APPLE") #대소문자 구분 제거