점프 투 파이썬 1

김지용·2022년 8월 24일
0

독서

목록 보기
7/11
post-thumbnail

이스케이프코드 (45p)

\n 줄 바꿈
\t 탭 추가
.
.
.

문자열 포맷(56p)

%d 정수형
%s 문자열
%f 부동소수
.
.
.

"I have %d apples" % 3
결과 >>> I have 3 apples

"0.4f" % 3.42134234
결과 >>> '3.4213'

문자열 메소드

count -> a= "hobby" / a.count('b') >>> 2
find -> a.find('b') >>> 2 / b가 처음 나온위치의 인덱스를 반환, 만약 존재하지 않으면 -1을 반환
index -> a.find('b') >>> 2 / b가 처음 나온위치의 인덱스를 반환, 만약 존재하지 않으면 에러가 남
join -> a = "," a.join('abcd') >>> 'a,b,c,d'
upper
lower
lstrip 왼쪽공백지우기(한칸 이상의 모든공백을 지운다.) / a=" hi " a.lstrip() >>> 'hi '
rstrip 우측공백지우기 / a=" hi " a.rstrip() >>> ' hi'
strip 양쪽 공백 지우기 / a=" hi " a.rstrip() >>> 'hi'
replace
split
format (점프 투 파이썬 63p~){0},{1} .format(a,b) {0} = a , {1} = b / 인덱스처럼 매핑

"I ate {0} apples {1}.".format(3, "last night")
결과 >>> 'I ate 3 apples last night.'

리스트에서 인덱스번호로 뽑으면 리스트로 나옴.

a = [1,2,4]
a[1:2] = ['a','b','c'] >>>> [1, 'a' , 'b' , 'c' , 4]
a[1] = ['a','b','c'] >>>>> [1, ['a' , 'b' , 'c'] , 4]

73p~

리스트와 관련된 메소드들

append
sort / sort() 메소드는 리턴값이 없다. 그래서 변수로 지정해줘야함.
reverse
index
insert a = [1,2,3] a.insert(0, 4) a[0] 위치에 4 삽입 >>> a = [4,1,2,3]
remove 리스트에선 처음으로 보이는 요소가 삭제
pop pop() 마지막 요소 뽑아가져옴 / pop(1) 1번째 인덱스 값 뽑아가져옴
count() / 안에 인수를 안 받으면 에러남
extend 합집합 ( 리스트가 합쳐짐 )

append는 오브젝트가 안에 들어가고
extend는 같은 자료형끼리 해서 결합(합집합)이 되는 느낌
insert는 원하는 인덱스번호 위치에 넣는 것이 가능
사용법: list.insert(추가할 항목 위치, 추가 항목)


튜플 - 값만 안 변하고 내용물을 바뀜 (81p)
더하거나 곱하거나 / 곱할 때는 문자열처럼 반복됨.
값을 한개만 더할 때는 (리스트의 append 처럼 붙음)

a + (4,) 처럼 ,를 섞어줘야한다.

딕셔너리

a = ['key1':'val1']
a['key2'] = 'val2'

a = ['key2':'val2', 'key1':'val1']

del a[1] key가 1인 key:value쌍 삭제

a[1]에서 리스트,튜플과 달리 딕셔너리는 요소가 아닌 key값을 의미함

a.keys()
하면 dict_keys 라는 객체인데 키값만 들어있는 리스트로 담아놓은
<built-in method keys of dict object at 0x0000016132286780> 반환

list(a.keys())하면 list값으로 key값들을 반환

a.values() 도 같은 맥락

a.items() 는 키밸류를 같이 가져와줌 (89p)
dict_items( [('key1':'val1'), ('key2':'val2')] )
list(a.items()) = [('key1':'val1'), ('key2':'val2')]

a.clear() 는 모든 요소 삭제
{}

a.get('key1')
'val1'

a[] 와 a.get() 의 차이는 없는 키인 a['no key'] 를 가져오면 오류가 나고,
a.get('no key')는 None을 리턴
여기서 None은 거짓이라는 뜻이다.

get(x, '디폴트 값') 이용하기

a.get('foo', 'bar')
'bar' 'foo' 라는 키에 해당하는 밸류값이 없으면 미리 지정해놓은 'bar'를 리턴한다.

'key1' in a
결과 >>> True or False
해당 키가 딕셔너리 안에 있는지 체크할 때는 in 을 쓰면 된다.

set 집합자료형

-> set() 괄호 안에 리스트를 만들거나, 문자열 예시("Hello")를 입력하여 만들 수 있다.

  • 중복 X
  • 순서보장 X
    (가끔 순서정렬되서 나오는데 그런 줄 알고 프로그래머스 문제 풀어서 제출하기나 코드실행 돌리면 실패가 종종 나옴)
s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

s1 & s2
>>> {4,5,6}   #  교집합 집합자료형으로 반환
# s1.intersection(s2) 도 같은 결과


s1 | s2
>>> {1,2,3,4,5,6,7,8,9}    # 합집합 집합자료형으로 반환
# s1.union(s2) 도 같은 결과

s1 - s2
# 차집합
# s1.difference(s2) 도 같은 결과

집합 자료형 관련 함수들(메소드)
add 1개의 값만 추가
update 값 여러개 추가
remove 특정값 제거

(~~95p)

관련 자료형 메소드 확인법

아래와 같이 dir() 안에 자료형을 넣으면 해당 자료형의 메소드들이 쭉 나온다.

> print(dir([]))
결과 >>> ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', 
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

print(dir({}))
결과 >>> ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', 
'__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
profile
김죵입니당 ^^

0개의 댓글