❗유의사항
리스트의 remove함수
index가 아닌 값을 지정하여 제거.
a = [1, '가나디', 3.14, '사과']
a.remove(1)
a
a = ['가나디', 3.14, '사과']
a.remove('사과')
a
a = ['가나디', 3.14]
a.append(1)
a.append(1)
a
a = ['가나디', 3.14, 1, 1]
a.remove(1)
a
a = ['가나디', 3.14, 1]
튜플은 수정이 불가한 자료형. 값을 바꿀 수 없다.
-> 리스트로 변환 후 수정하고 다시 튜플로 변환하는 방식 가능
A = ('a', 9, 5.15) # 튜플
ch = list(A) # 리스트 변환
ch.append(3)
newA = tuple(ch) # 튜플 전환
세트는 순서 상관X, 중복 제거
순서를 가지지 않으므로 인덱스 접근 불가.
인덱싱, 슬라이싱 등등 모두 불가
[ ] : 대괄호. 리스트
{ } : 중괄호. 세트
( ) : 소괄호. 튜플
딕셔너리 역시 인덱스 접근 불가. 순서 지정돼있지 않으므로
대신 key값을 이용해 value 접근 가능
원소 삭제 시 del함수 이용
dict = {'key1':666, 'key2':888}
del dict['key1']
dict
{'key2':888}
zip함수를 사용하면 두 리스트를 하나의 딕셔너리로 생성 가능.
key = []
value = []
zip(key, value)
문자열 처리
인덱싱 가능.
공백도 인덱스를 가짐.
❗파이썬에서 문자열은 변경 불가능한 자료형
-> 인덱스 지정하여 특정값 변경하는 것 불가.
replce 함수를 사용하더라도, 새로운 스트링을 반환하는 것이지 해당 문자열이 변경되는 것은 아님.
str1 = 'abcde'
str1[4] = 's' # error
str1.replace('a', 'b') # 'bbcde'반환. 하지만 str1은 여전히 'abcde'이다.
'bbcde'
한 번 지정된 문자열 str1은 변경되지 않는다.
따라서 새로 반환한 문자열을 저장하고 싶은 경우 str2 = str1.replace('a', 'b')와 같이 따로 저장해야 함.
replace는 replaceAll로 작동한다.
str = 'abbbabaa'
str.replace('a', 'b') # str의 모든 a가 b로 대체됨
'bbbbbbbb'